本单元主要是在docker镜像管理下进一步的培训学习文档。
docker镜像管理-实操_忍冬行者的博客-CSDN博客
四.容器管理
 1.运行一个容器
 docker container run --name c1 -it nginx:latest /bin/sh
 2.后台运行一个容器
 docker container run --name c1 -it -d nginx:latest 
 3.查看容器
 docker container ls或则docker ps 
 4.停止容器
 docker container stop c1或者docker stop c1   也可以restart ,start 
 5. 删除容器
 docker container stop c1
 docker container rm c1
 docker container rm $(docker container ls -aq) -f  #删除全部容器,不建议生产环境使用
6.查询容器详情
 docker container inspect c1
 7.容器的重启策略
 容器支持的重启策略包括 always、unless-stopped 和 on-failed
 docker container run --name c1 -it --restart always nginx /bin/sh
 8.容器保留服务端口 -P或则-p
 设置转发
 sysctl -w net.ipv4.ip_forward=1 
 Docker 可以通过 docker run 命令的 -P 选项将容器内的端口动态绑定到宿主机上,也可以通过 -p 选项手动指定映射关系。
 docker run -it --name c1 --rm -p 8000:80 nginx
 五.数据卷与持久化
 创建数据卷
 docker volume create myvol
 查看数据卷
 docker volume ls
 docker volume inspect myvol
 删除存储卷
 docker volume rm
 使用存储卷
 docker container run -dit --name c1 \
     --mount source=myapp,target=/var/www/html \
     nignx:v1
 也可以使用
 docker container run -dit --name c1 -v myapp:/var/www/html nginx:v1
绑定数据卷
 --mount 选项支持三种类型的数据卷,包括:
 volume:普通数据卷,映射到主机 /var/lib/docker/volumes 路径下
 bind:绑定数据卷,映射到主机指定路径下
 tmpfs:临时数据卷,只存在于内存中
比如
 docker run -d --name web1 \
     --mount type=bind,source=/var/www/html,target=/var/www/html \
     whylitin/myapp:v1
 或
 docker run -d --name web1 \
     -v /var/www/html/:/var/www/html \
     nginx:v1
 共享容器卷
 docker run -d --name webdata \
     --mount source=webdata,target=/var/www/html \
     nginx:v1
     
 docker run -d --volumes-from webdata --name web1 nginx:v1
六.容器网络
 Docker 默认支持以下四种网络模式:
 bridge 模式
 host 模式
 Container 模式
 none 模式
 指定网络模式
 docker run -it --name c4 --rm --network bridge nginx:latest
 docker container run -d --name c2 --network host nginx:latest
七.docker资源限制
 基于cgroups, 是 Linux 内核提供的一种机制,包括 CPU、内存、IO 等
 CPU 限制
 --cpus:限制容器允许的 cpu 核数。
 --cpuset-cpus:限制容器允许在指定 CPU 的核心。
 --cpu-shares:按权重分配,每个 docker 容器默认的权重为 1024
 docker run -itd --name cpu512 --cpu-shares 512 nginx
 docker run -itd --name cpu2 --cpuset-cpus 2 nginx 
 docker run -itd --name cpu3 --cpus 1 nginx
内存限制
 -m:限制容器能使用的最大内存大小,最小为 4M。
 --memory-reservation:设置一个内存使用 soft limit 的大小。
 --oom-kill-disable:发生 OOM 时,是否杀死容器。设置为 false 表示启用 oom,设置为 true 表示不启动 oom
 docker run -it -m 200M --name mem200 nginx
 八.容器监控
 1.docker top
2.docker stats
九.容器编排
 Docker Compose 能够在 Docker 节点上,以单引擎模式进行多容器应用的部署和管理
 Docker Swarm 一个企业级的 Docker 安全集群,以及一个微服务应用编排引擎