Docker(复习)

一、启动\关闭\重启 Docker:

(1)宿主机启动:sudo systemctl start docker

  • 虚拟机启动 :
  • docker run -i -t ubuntu:15.10 /bin/bash
  • docker run -i -t [系统类型:系统版本] [目录] [shell 命令]

(2)宿主机关闭:sudo systemctl stop docker

  • 虚拟机关闭 :
  • docker stop [CONTAINER ID/NAMES]
  • docker stop [镜像ID/镜像名]

(3)宿主机重启:sudo systemctl restart docker

二、显示/查看 Docker:

  • docker ps

三、退出虚拟机docker:

  • exit

四、后台启动/显示后台Docker:

(1)后台启动:

  • docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
  • docker run -d [系统类型:系统版本] [目录] -c [shell 命令]

(2)后台显示:

  • docker logs [CONTAINER ID]
  • docker logs [NAMES]

五、查看所有docker指令:

  • docker
  • 详细查询:
  • docker states --help

六、启动容器:

(1)获取镜像:

  • docker pull ubuntu
  • docker pull [系统名]

(2)启动容器:(带交互式操作的终端)

  • docker run -it ubuntu /bin/bash
  • -i 交互式操作
  • -t 终端
  • ubuntu 系统名
  • /bin/bash shell执行目录

七、创建后台容器:

  • docker run -itd --name ubuntu-test ubuntu /bin/bash
  • -i 交互式操作
  • -t 终端
  • -d 后台
  • --name ubuntu-test 命名镜像
  • ubuntu 镜像名
  • /bin/bash shell执行目录

八、进入容器:

  • docker attach [ID/Name] 退出会导致容器停止
  • docker exec [ID/Name] 退出不会导致容器停止

九、列出镜像列表:

  • docker images

十、构建镜像(使用对应文件)

  • docker build -t runoob/centos:6.7
  • runoob/centos 镜像名
  • 6.7 镜像版本
  • . 文件目录

ps:Dockerfile文件格式

# centos
# 6.7
FROM    centos:6.7 
# Fisher 远程docker用户名
# "[email protected]" 远程docker邮箱
MAINTAINER      Fisher "[email protected]" 

# 设置root用户名和密码
RUN     /bin/echo 'root:123456' |chpasswd
# 添加用户
RUN     useradd runoob
# 设置新添用户的用户名和密码
RUN     /bin/echo 'runoob:123456' |chpasswd
# 设置字符集并覆盖原有字符集
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
# 配置22 tcp端口
EXPOSE  22
# 配置80 web服务端口
EXPOSE  80
# 配置使用ssh连接
CMD     /usr/sbin/sshd -D


# 复制指令
COPY 
COPY [--chown=:] <源路径1>...  <目标路径>
COPY [--chown=:] ["<源路径1>",...  "<目标路径>"]
COPY hom* /mydir/
COPY hom?.txt /mydir/

# 可复制tar,gar,tgar指令,不解压的前提下,无法复制 tar 压缩文件。会令镜像构建缓存失效,从而可能会令镜像构建变得比较缓慢
ADD

# 与CMD类似的执行语句,不会被docker run覆盖,可以给定参数
ENTRYPOINT
ENTRYPOINT ["","","",...]
ENTRYPOINT ["nginx", "-c"] # 定参

# 镜像环境参数
ENV
ENV  
ENV NODE_VERSION 7.2.0

# Dockerfile 环境参数
ARG <参数名>[=<默认值>]

# 定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷。 
VOLUME
VOLUME ["<路径1>", "<路径2>"...]
VOLUME <路径>
在启动容器 docker run 的时候,我们可以通过 -v 参数修改挂载点。

# 定义工作目录,否则每次docker build就会自动构建一个新的工作目录
WORKDIR

# 指定用户组 
USER

# 监控docker运行情况
HEALTHCHECK
HEALTHCHECK [选项] CMD <命令>:设置检查容器健康状况的命令
HEALTHCHECK NONE:如果基础镜像有健康检查指令,使用这行可以屏蔽掉其健康检查指令
HEALTHCHECK [选项] CMD <命令> : 这边 CMD 后面跟随的命令使用,可以参考 CMD 的用法。

# 延迟构造docker(下次调用docker时启动)
ONBUILD
ONBUILD <其它指令>

十一、设置镜像标签:

  • docker tag 860c279d2fec runoob/centos:dev
  • 860c279d2fec  镜像id
  • runoob/centos 镜像名
  • dev 镜像标签

十二、拖取镜像:

  • docker pull ubuntu:13.10
  • ubuntu 镜像名
  • 13.10 镜像版本
  • 十三、查找镜像:

  • docker search httpd
  • httpd 镜像名

十四、仓库管理:

(1)登录:

  • docker login

(2)退出:

  • docker logout

(3)拉取镜像:

  • docker search ubuntu

(4)镜像下载至本地:

  • docker pull ubuntu

(5)推送镜像:

  • docker push ubuntu

你可能感兴趣的:(项目管理,Docker)