Docker 架构
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
获取镜像
docker pull ubuntu
启动容器
docker run -it ubuntu /bin/bash
停止一个容器
docker stop <容器 ID>
停止的容器可以通过 docker restart 重启:
docker restart <容器 ID>
进入容器
-
docker attach
-
docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
导出容器
docker export 1e560fca3906 > ubuntu.tar
导入容器快照
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
docker import http://example.com/exampleimage.tgz example/imagerepo
删除容器
docker rm -f 容器ID
查看正在运行的容器
docker ps
查看 WEB 应用程序日志
docker logs -f 容器ID
查看WEB应用程序容器的进程
docker top 容器ID
停止 WEB 应用容器
docker stop wizardly_chandrasekhar
重启WEB应用容器
docker start wizardly_chandrasekhar
移除容器
docker rm wizardly_chandrasekhar
构建镜像
bash
cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd aa
RUN /bin/echo 'aa:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
docker build -t aa/centos:6.7 .
设置镜像标签
docker tag 860c279d2fec aa/centos:dev