按用途容器大致可分为两类:服务类容器和工具类的容器。
1. 服务类容器以 daemon 的形式运行,对外提供服务。比如 web server,数据库等。通过 -d
以后台方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it
进入容器。
2. 工具类容器通常给能我们提供一个临时的工作环境,通常以 run -it
方式运行,比如:
docker tag e36f722e480b wangbo/centos:dev 路径名:标签名
命令大全:
生命周期管理:run start/stop/restart kill rm pause/unpause create exec打包发布应用可以参考
https://blog.csdn.net/Deng2012web/article/details/78440796
https://www.cnblogs.com/yshyee/p/7258477.html
dockerfile cmd
按用途容器大致可分为两类:服务类容器和工具类的容器。
1. 服务类容器以 daemon 的形式运行,对外提供服务。比如 web server,数据库等。通过 -d
以后台方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it
进入容器。
2. 工具类容器通常给能我们提供一个临时的工作环境,通常以 run -it
方式运行,比如:
docker run
--restart=always
意味着无论容器因何种原因退出(包括正常退出),就立即重启。该参数的形式还可以是 --restart=on-failure:3
,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。
退出包括正常退出或者非正常退出。这里举了两个例子:启动进程正常退出或发生 OOM,此时 docker 会根据 --restart
的策略判断是否需要重启容器。但如果容器是因为执行 docker stop
或docker kill
退出,则不会自动重启。
docker rm
一次可以指定多个容器,如果希望批量删除所有已经退出的容器,可以执行如下命令:
docker rm -v $(docker ps -aq -f status=exited)
每天5分钟docker摘录
第一章:容器基本操作
构建镜像,分层结构,base镜像
本章首先通过大量实验学习了容器的各种操作以及容器状态之间如何转换,然后讨论了限制容器使用 CPU、内存和 Block IO 的方法,最后学习了实现容器的底层技术:cgroup 和 namespace。
下面是容器的常用操作命令:
create 创建容器
run 运行容器
pause 暂停容器
unpause 取消暂停继续运行容器
stop 发送 SIGTERM 停止容器
kill 发送 SIGKILL 快速停止容器
start 启动容器
restart 重启容器
attach attach 到容器启动进程的终端
exec 在容器中启动新进程,通常使用 "-it" 参数
logs 显示容器启动进程的控制台输出,用 "-f" 持续打印
rm 从磁盘中删除容器
第二章:网络
在这一章我们首先学习了 Docker 的三种网络:none, host 和 bridge 并讨论了它们的不同使用场景;然后我们实践了创建自定义网络;最后详细讨论了如何实现容器与容器之间,容器与外部网络之间的通信。
本章重点关注的是单个主机内的容器网络,对于跨主机网络通信将在后面章节详细讨论
第三章:存储
1. docker 为容器提供了两种存储资源:数据层和 Data Volume。
2. 数据层包括镜像层和容器层,由 storage driver 管理。
3.Data Volume 有两种类型:bind mount 和 docker managed volume。
4.bind mount 可实现容器与 host 之间,容器与容器之间共享数据。
5.volume container 是一种具有更好移植性的容器间数据共享方案,特别是 data-packed volume container
6.最后我们学习了如何备份、恢复、迁移和销毁 Data Volume。