本文关键详细介绍了处理docker run 或是 docker restart 启动镜像系统就全自动撤出的难题,具备非常好的实用价值,期待对大伙儿有一定的协助。一起追随我回来瞧瞧吧
实行命令:docker run --name centos8 -d centos /bin/bash,根据docker ps查询已经运行中容器,找不着centos8。
根据docker ps -a查询发觉,centos8容器早已处在终止情况了
[root@MiWiFi-R4A-srv server]$ docker run --name centos8 -d centos /bin/bash
a770630ca865b3c3346a321a383f302ed22af9281be8482f4f4debc59218d0d1
[root@MiWiFi-R4A-srv server]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@MiWiFi-R4A-srv server]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a770630ca865 centos "/bin/bash" 37 seconds ago Exited (0) 35 seconds ago centos8
为何撤出?
这是由于docker后台管理运行,务必有一个前台接待进程。docker运行的命令要不是这些一直脱机的命令(e.g. top,ping),便是会全自动撤出的。而上边的编码中-d centos便是必须实行的特定的命令。命令假如实行结束了或是运用结束时,容器会全自动终止。
解决方案
之前台进程的方式运行
将运行的程序流程之前台进程的方式运行,假如容器必须另外启动好几个进程,那麼也只必须将在其中一个挂具有前台接待就可以。
例如上边常说的 centos 容器,只必须将启动命令改动为交互技术启动:
docker run --name centos8 -it centos /bin/bash
又或是是Web容器:
service php5-fpm start && nginx -g "daemon off;"
投机取巧方法
加上类似 tail top 这类能够前台接待运行的程序流程,不断輸出log文件就可以。
service nginx start && service php5-fpm start && tail -f /var/log/nginx/error.log
再以上边常说的 web 容器为例子,能够写出:
service nginx start && service php5-fpm start && tail -f /var/log/nginx/error.log
自身写脚本
在启动centos/ubuntu容器时,能够做一个手和脚:做一个无限循环,不断輸出随意,那样容器不容易觉得没事儿可做而自尽了。
docker run -d centos /bin/bash -c "while true; do echo hello world; sleep 1; done"
填补专业知识:docker中启动容器时CMD启用的sh脚本中if命令报未预估的标记 if[[的解决方案
近期根据Dockerfile撰写镜像系统,CMD中启用的是sh脚本(start.sh)开展启动容器,根据docker run启动时,启动失败,开展docker logs 容器ID,发觉出错为:未预估的标记 if [[
我立即在外界linux系统进程实行start.sh是取得成功的,根据docker exec 进到容器,在容中启用start.sh也未出错,命令中必须启动的程序流程都取得成功启动。脚本制作立即实行没什么问题,根据docker run却出错,迷惑不解。
start.sh中出错代码段以下
if [[ -e /home/dc/testnn-aaa.zip ]];then
rm -rf /home/testnn-aaa
unzip -q -o -d /home testnn-aaa.zip
echo "unzip zip finished"
else
echo "dc zip not exist"
fi
历经查看较为,由于我的start.sh在出错句子以前也是有if语句,可是没出错,发觉多处差别为第一处if应用的是单[],将编码改成[],则取得成功,改动以下:
if [ -e /home/dc/testnn-aaa.zip ];then
之上这篇处理docker run 或是 docker restart 启动镜像系统就全自动撤出便是我共享给大伙儿的所有内容了,期待能给大伙儿一个参照,也期待大伙儿多多的适用大家。
热搜词