解決docker容器啟動(dòng)后馬上退出的問(wèn)題
最近在看docker如何讓容器在啟動(dòng)時(shí)直接運(yùn)行某些進(jìn)程,后來(lái)發(fā)現(xiàn)Dockerfile可以在容器啟動(dòng)的時(shí)候指定容器運(yùn)行命令。
CMD指定,但是每個(gè)Dockerfile只能有一條CMD指令,如果指定了多條CMD指定,只有最后一條會(huì)被執(zhí)行。
于是就想了一個(gè)辦法,在寫(xiě)了一個(gè)腳本,在腳本里面啟動(dòng)多個(gè)進(jìn)程,在Dockerfile里運(yùn)行這個(gè)腳本。
最后證明這個(gè)方法是可行的,在實(shí)驗(yàn)過(guò)程中遇到一個(gè)問(wèn)題,容器啟動(dòng)后會(huì)馬上停止。
經(jīng)查閱資料:
Docker容器同時(shí)只能管理一個(gè)進(jìn)程,如果這個(gè)進(jìn)程退出那么容器也就退出了,但這不表示容器只能運(yùn)行一個(gè)進(jìn)程(其他進(jìn)程可在后臺(tái)運(yùn)行),但是要使容器不退出必須有一個(gè)前臺(tái)執(zhí)行的進(jìn)程。
解決方法:
腳本中最后一個(gè)進(jìn)程一定要用前臺(tái)運(yùn)行方式即在進(jìn)程最后不加&(&表示后臺(tái)運(yùn)行),否則容器會(huì)退出。
補(bǔ)充知識(shí):在docker容器中使用gdbserver發(fā)生的問(wèn)題及解決辦法
在docker容器中使用gdbserver時(shí)遇到一個(gè)問(wèn)題
linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME:operation not permmit
原因是Docker默認(rèn)禁用PTRACE功能,需要在容器運(yùn)行時(shí)開(kāi)啟。
docker run -ti --cap-add=SYS_PTRACE ubuntu
以上這篇解決docker容器啟動(dòng)后馬上退出的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker學(xué)習(xí)筆記之docker入門(mén)
docker可以類(lèi)比成window下的VMware。docker有兩個(gè)基本的概念:容器(container)和鏡像(image),分別對(duì)應(yīng)為VMware中的系統(tǒng)鏡像和系統(tǒng)鏡像中運(yùn)行的軟件。docker的強(qiáng)大之處在于VMware只能運(yùn)行幾個(gè)虛擬機(jī)的設(shè)備上docker可以同時(shí)運(yùn)行幾十甚至上百個(gè)虛擬機(jī)。2016-11-11
IDEA集成Docker實(shí)現(xiàn)一鍵部署的詳細(xì)過(guò)程
這篇文章主要介紹了IDEA集成Docker實(shí)現(xiàn)一鍵部署,Docker基于Windows集成IDEA,本文分步驟通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
半小時(shí)實(shí)現(xiàn)基于ChatGPT搭建微信機(jī)器人
這篇文章主要為大家介紹了基于ChatGPT搭建微信機(jī)器人過(guò)程示例詳解,半小時(shí)就能完成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
IDEA集成Docker實(shí)現(xiàn)打包的方法
本文主要介紹了IDEA集成Docker實(shí)現(xiàn)打包的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
CentOS7.2服務(wù)器上搭建Docker私有鏡像倉(cāng)庫(kù)操作示例
這篇文章主要介紹了CentOS7.2服務(wù)器上搭建Docker私有鏡像倉(cāng)庫(kù)操作,結(jié)合實(shí)例形式分析了基于CentOS7.2平臺(tái)docker安裝、證書(shū)和密鑰生成、私有鏡像創(chuàng)建與啟動(dòng)等操作相關(guān)命令與使用技巧,需要的朋友可以參考下2018-06-06
linux中無(wú)make命令的問(wèn)題(make: *** 沒(méi)有指明目標(biāo)并且找不到 makefile及make命令安裝方法)
這篇文章主要介紹了linux中無(wú)make命令的問(wèn)題(make: *** 沒(méi)有指明目標(biāo)并且找不到 makefile及make命令安裝方法),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
總結(jié)Docker不適合部署數(shù)據(jù)庫(kù)的7大原因
在本篇文章里小編給大家整理一篇關(guān)于Docker不適合部署數(shù)據(jù)庫(kù)的7大原因,有興趣的朋友們可以參考學(xué)習(xí)下。2021-01-01

