2020-03-08 14:55:08
当你逐渐了解docker后,你会开始考虑docker的其它用例,第一个首先是运行服务一样运行docker。
你想作为一个服务在后台运行docker.
docker run命令使用-d参数,和使用与容器管理相关的参数来定义服务特性。
Docker容器 – 像大多数进程 – 默认在前台运行。在后台运行docker容器最常见的方式是使用&控制操作符。即使这个可行,不过当你的日志输出到终端会话时可能会遇到麻烦,或者你使用nohup命令,它会当前目录创建一个日志输出文件,不过增加了一个日志管理的问题。而docker提供有在后台运行的功能,如:
$ docker run -d -i -p 1234:1234 --name daemon ubuntu nc -l 1234
当docker run命令使用-d参数时,docker会以守护进程运行。-i参数使你能够与Telnet会话交互。-p参数使容器的1234端口绑定到主机。–name参数设置容器一个名称方便以后引用。最后,运行了一个监听在1234端口的echo服务器。
如果你现在连接并使用telnet发送消息,你使用docker logs命令会看到容器已经接收到消息,如图:
你看到以守护进程运行容器足够简单,但操作上仍有一些问题需要回答:
* 服务失败时会怎样?
* 服务终止时会怎样?
* 如果服务持续故障会怎样?
幸运地是docker为每个问题提供了参数!
虽然restart参数经常与-d参数一起使用,但技术上来说这不是必要的。
docker run –restart命令允许容器终止时应用一系列的规则(也称重启策略)。
重启策略可选值:
no – 容器退出时不重启
always – 容器退出时始终重启
on-failure[:max-retry] – 只在发生错误时重启
no策略很简单:当容器退出时,不重启容器。这个是默认值。
always也同样简单,不过值得简单介绍下:
$ docker run -d --restart=always ubuntu echo done
此命令以守护进程运行容器,并在进程终止时始终重启容器(–restart=always)。执行了一个快速完成的echo命令,然后退出容器。
如果你执行以上命令然后执行docker ps命令,会看到类似的输出:
注意STATUS列告诉我们容器少于一秒前退出,正在重启。这是因为echo done命令立即退出了,docker就必须持续地重启容器。
最后on-failure策略只在容器以非0(非正常失败)状态码退出时重启:
$ docker run -d --restart=on-failure:10 ubuntu /bin/false
此命令以守护进程运行(-d)和对尝试重启设置一个限制值(–restart=on-failure:10),超过此次数时不再重启。它运行一个简单的命令(/bin/false),会快速完成且肯定会失败。
如果你执行以上命令,等一分钟后执行docker ps -a,你会看到类似的输出:
Docker实践(19) – 保留容器的bash历史记录
04-21
Docker-postfix, 在 Docker 容器中,使用smtp身份验证( sasldb ) 运行后缀
06-26
Docker run参考(3) – 容器标识
04-03
Docker命令行参考(14) – Docker attach附着到一个运行中的容器
07-19
Docker命令行参考(18) – Docker exec在运行中的容器执行一个命令
06-02
Docker命令行参考(22) – Docker pause暂停容器内所有的进程
02-21
Docker实践(26) – 设置从Dockerfile指定点缓存失效
02-12
Docker实践(3) – 移动Docker到一个不同的分区
05-21
Docker使用示例(3) – 调试容器
06-16
Docker使用示例(4) – 清理容器和镜像
06-10
Docker用户指南(15) – 默认bridge网络 – 绑定容器端口到主机
03-31
Docker使用示例(1) – 创建容器
03-23
Docker命令行参考(21) – Docker logs获取容器的日志
02-27
Docker命令行参考(26) – Docker stats实时显示容器资源使用统计
06-21
Docker命令行参考(4) – Docker inspect显示容器或镜像相关信息
07-19
Docker命令行参考(6) – Docker commit提交容器的更改创建新镜像
07-15
使用 Docker 搭建 Tomcat 运行环境
07-24
Dockerfile参考(14) – WORKDIR设置RUN CMD ENTRYPOINT等指令的工作目录
03-23
Docker run参考(8) – 退出状态码
05-15
Dockerfile参考(1) – 用法
05-22
进程守护精灵
22.12 KB
下载360小贝守护(360上网守护工具) v1.0.0.1001 官方版
3.0M
下载Simplewall(进程监控工具) v3.1 免费版
696.6K
下载jre7(java运行环境软件)v7.0.650.20 免费版
25.7M
下载微软常用运行库合集 64位 v2018.10.28
34.36 MB
下载AIO Runtime Libraries 2018.03.24 官方版
36.8M
下载Simple Run Blocker下载
416.59K
下载VirtualBox虚拟机下载
108.47MB
下载扫描全能王 V1.0.0.1 官方版下载
33.94 MB
下载