最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決docker run 或者 docker restart 啟動鏡像就自動退出

 更新時間:2020年11月21日 14:12:44   作者:程序員阿廣  
這篇文章主要介紹了解決docker run 或者 docker restart 啟動鏡像就自動退出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

執(zhí)行命令:docker run --name centos8 -d centos /bin/bash,通過docker ps查看正在運行中容器,找不到centos8。

通過docker ps -a查看發(fā)現(xiàn),centos8容器已經(jīng)處于停止狀態(tài)了

[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就是需要執(zhí)行的指定的命令。命令如果執(zhí)行完畢了或者應(yīng)用終結(jié)時,容器會自動停止。

解決方法

以前臺進程的形式運行

將運行的程序以前臺進程的形式運行,如果容器需要同時啟動多個進程,那么也只需要將其中一個掛起到前臺即可。

比如上面所說的 centos 容器,只需要將啟動指令修改為交互方式啟動:

docker run --name centos8 -it centos /bin/bash

又或者是Web容器:

service php5-fpm start && nginx -g "daemon off;"

取巧方式

添加類似于 tail top 這種可以前臺運行的程序,持續(xù)輸出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容器時,可以做一個手腳:做一個死循環(huán),持續(xù)輸出任意,這樣容器不會認為沒事可做而自殺了。

docker run -d centos /bin/bash -c "while true; do echo hello world; sleep 1; done"

補充知識:docker中啟動容器時CMD調(diào)用的sh腳本中if命令報未預(yù)期的符號 if[[的解決辦法

最近通過Dockerfile編寫鏡像,CMD中調(diào)用的是sh腳本(start.sh)進行啟動容器,通過docker run啟動時,啟動不成功,進行docker logs 容器ID,發(fā)現(xiàn)報錯為:未預(yù)期的符號 if [[

我直接在外部linux系統(tǒng)調(diào)用執(zhí)行start.sh是成功的,通過docker exec 進入容器,在容中調(diào)用start.sh也未報錯,命令中需要啟動的程序都成功啟動。腳本直接執(zhí)行沒問題,通過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

經(jīng)過查閱比較,因為我的start.sh在報錯語句之前也有if語句,但是沒報錯,發(fā)現(xiàn)兩處區(qū)別為第一處if使用的是單[],將代碼改為[],則成功,修改如下:

if [ -e /home/dc/testnn-aaa.zip ];then

以上這篇解決docker run 或者 docker restart 啟動鏡像就自動退出就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker部署Nginx設(shè)置環(huán)境變量的實現(xiàn)步驟

    Docker部署Nginx設(shè)置環(huán)境變量的實現(xiàn)步驟

    本文主要介紹了Docker部署Nginx設(shè)置環(huán)境變量的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker容器Container鏡像Image如何存儲詳解

    Docker容器Container鏡像Image如何存儲詳解

    本文主要介紹Docker容器(Container)和鏡像(Image)是如何進行數(shù)據(jù)存儲詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 聊聊kubernetes1.20用containerd替換docker(shim)的問題

    聊聊kubernetes1.20用containerd替換docker(shim)的問題

    這篇文章主要介紹了kubernetes1.20用containerd替換docker(shim),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)

    docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)

    這篇文章主要介紹了docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    Docker拉取鏡像過慢或卡死的解決方法(親測有效)

    本文主要介紹了Docker拉取鏡像過慢或卡死的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 局域網(wǎng)內(nèi)部署 Docker Registry(推薦)

    局域網(wǎng)內(nèi)部署 Docker Registry(推薦)

    本文將從創(chuàng)建單機的 Docker Registry 開始,逐步完成局域網(wǎng)內(nèi)可用的 Docker Registry 的創(chuàng)建,并重點解釋如何使用 IP 地址訪問 Registry 的方法
    2017-05-05
  • 使用docker制作分布式lnmp 鏡像

    使用docker制作分布式lnmp 鏡像

    最近在學(xué)習(xí)docker相關(guān)知識,順便把docker制作分布式lnmp 鏡像的過程分享給大家,包括Nginx配置文件和PHP文件的修改代碼也一并給出,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Docker實現(xiàn)TLS和CA認證的方法步驟

    Docker實現(xiàn)TLS和CA認證的方法步驟

    為了更便捷地連接Docker服務(wù)器,Docker服務(wù)器需要開放2375端口才能連接docker,本文主要介紹了Docker實現(xiàn)TLS和CA認證的方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • docker啟動Java程序的方法步驟

    docker啟動Java程序的方法步驟

    這篇文章主要介紹了docker啟動Java程序的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 修改Docker容器內(nèi)文件的三種實現(xiàn)方式

    修改Docker容器內(nèi)文件的三種實現(xiàn)方式

    這篇文章主要介紹了修改Docker容器內(nèi)文件的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論

湖州市| 清丰县| 湄潭县| 枣阳市| 宁德市| 泰和县| 赤城县| 都兰县| 资中县| 磐安县| 班玛县| 抚顺县| 南宁市| 河东区| 分宜县| 裕民县| 临清市| 乌海市| 衡水市| 临漳县| 民丰县| 侯马市| 香港| 乌兰察布市| 蚌埠市| 田林县| 甘德县| 墨竹工卡县| 赤壁市| 泸溪县| 仁寿县| 诸城市| 射阳县| 栾城县| 武威市| 保靖县| 宁城县| 湘乡市| 通榆县| 都兰县| 灵璧县|