Docker

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器使用沙箱机制,相互之间不会有任何接口。

1. 虚拟机与Docker

2. Docker 优势

  • 主机资源利用率高

  • 启动时间快

  • 运行环境一致性

  • 部署简单

3. Docker架构

  Docker 使用 C/S 架构,用户通过 Docker 客户端或 RESTful API 与 Docker 服务器或守护进程进行通信。

docker-framework

4. 基本概念

  • 镜像 Image

  镜像是基于联合文件系统的一种层式的结构,由一系列指令一步步构建出来。

  • 容器 Container

  容器是基于镜像启动的,每个容器都包含一个镜像,容器中可以运行一个或多个应用进程。

  • 仓库 Registry

  Registry 用来保存用户构建的镜像。Registry 分为公共和私有两种。Docker 公司运营的公共 Registry 叫做 Docker Hub,拥有大量的高质量的官方镜像。用户可以在 Docker Hub 分享并保存自己的镜像。

5. Docker镜像

(1)列出本地镜像

$ docker images
REPOSITORY    TAG      IMAGE ID        CREATED        SIZE
ubuntu        18.04    f753707788c5    4 weeks ago    127 MB

(2)拉取镜像

$ docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
bf5d46315322: Pull complete
9f13e0ac480c: Pull complete
Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
Status: Downloaded newer image for ubuntu:18.04

(3)查找镜像

$ docker search centos
NAME               DESCRIPTION                            STARS     OFFICIAL   AUTOMATED
centos             The official build of CentOS.          465       [OK]
blalor/centos      Bare-bones base CentOS 6.5 image       6                    [OK]

(4)构建镜像

  • Dockerfile文件:包含了一条条的指令,每一条指令构建一层镜像。

  • docker build 命令使用 Dockerfile 文件构建镜像。
$ docker build -t jamtor/web .

(5)推送镜像

$ docker push jamtor/web

(6)删除本地镜像

$ docker rmi jamtor/web

6. Docker容器

(1)启动运行一个容器

$ docker run --name tomcat -d -i -t -p 8000:80 tomcat:lastest /bin/bash

-d:在后台运行容器,并显示容器ID。

-i:保持 stdin 打开,即使没有连接。

-t:分配一个伪终端。

--name:为容器指定名称。

-p hostPort:containerPort将容器的端口映射到宿主机。

(2)docker start|stop|restart  启动|停止|重启容器。

(3)docker rm  删除容器。

(4)docker exec  在运行中的容器中执行一条命令。

(5)docker ps  查看运行的容器。

(6)docker logs  查看容器的日志。

 

posted @ 2019-10-20 08:31  PIPO2  阅读(170)  评论(0编辑  收藏  举报