啟動永遠執行的Container

最近碰到一個有趣的事情,需要啟動一個僅ubuntu的容器,要在這個ubuntu容器上放一些CTF的題目,但是發現,容器在執行完後就掛掉了,啥事都不能做😒,因此,後來找到可以啟動永遠執行的Container的方法,以下經驗分享給需要的人 ~

——————————————————-

Container的生命週期,當Container被執行後,若Container中沒有一個常駐於記憶體的程式在被執行的話,Container就會掛掉,因此,若要產生可以永遠執行的Container,可以使用以下三種方法

來源映像檔包含長駐於記憶體的程式

來源的映像檔就有一個開機自動執行常駐的服務,如使用nginx的映象檔並啟動nginx服務。
指令: docker run –name=test-nginx -p 8003:80 -d nginx:latest

手動對Container執行一個不停止的服務並把Container丟入背景執行

手動加入如ping localhost等指令,並讓container丟入背景執行,如以下使用busybox 映像檔做示範

指令: docker run –name=ping -d busybox ping localhost

用-d參數將Container放入背景,並且讓他保持基本輸入或輸出的能力

讓Container放入背景執行並讓container保有輸入或輸出的能力,也就是說,不但要加入參數-d,同時也要有參數-t或-i,因此,參數須加上-dt或-di或-idt都可以

指令: docker run –name=test -itd busybox

參考資料

執行中的Container