解決docker容器啟動後馬上退出的問題

2022-09-24 11:24:10 字數 755 閱讀 7605

最近在看docker如程式設計客棧何讓容器在啟動時直接執行某些程序,後來發現dockerfile可以在容器啟動的時候指定容器執行命令。

cmd指定,但是每個dockerfile只能有一條cmd指令,如果指定了多條cmd指定,只有最後一條會被執行。

於是就想了乙個辦法,在寫了乙個指令碼,在指令碼裡面啟程式設計客棧動多個程序,在dockerfile裡執行這個指令碼。

最後證明這個方法是可行的,在實驗過程中遇到乙個問題,容器啟動後會馬上停止。

經查閱資料:

docker容器同時只能管理乙個程序,如果這個程序退出那麼容器也就退出了,但這不表示容器只能執行乙個程序(其他程序可在後台執行),但是要使容器不退出必須有乙個前台執行的程序。

解決方法:

指令碼中最後乙個程序一定要用前台執行方程式設計客棧式即在程序最後不加&(&表示後台執行),否則容器會退出。

補充知識:在docker容器中使用gdbserver發生的問題及解決辦法

在docker容器中使用gdbserver時遇到乙個問題

linux_ptrace_test_ret_to_nx: cannot ptrace_traceme:operation not permmit

原因是docker預設禁用ptrnnzcvnsbsace功能,需要在容器執行時開啟。

docker run -ti --cap-add=sys_ptrace ubuntu

本文標題: 解決docker容器啟動後馬上退出的問題

本文位址: /jiqiao/fuwuqi/364999.html

設定 docker 容器開機後自動啟動

執行啟動容器時指定 sudo docker run m 512m memory swap 1g it p 58080 8080 restart always name bvrfis volumes from logdata mytomcat 4.0 root run.sh restart具體引數值詳...

Centos7 docker容器啟動後新增埠對映

一 通過修改防火牆策略新增埠對映 docker容器已建立好,但是想在容器內配置tomcat監控,需要新的埠去訪問,但是對映時沒有對映多餘埠,此時,我們可以通過防火牆策略去對映埠,如下 iptables t nat a docker p tcp dport 12580 j dnat to 172.20...

Docker容器自啟動

原文 docker提供了restart policy機制,可以在容器退出或者docker重啟時控制容器能夠自啟動。這種restart policy可以保證相關容器按照正確順序啟動。雖然也可以通過程序監控的方式 如systemd 來完成這種動作,但docker還是建議盡量避免使用程序監控的方式來 自啟...