D&K 課程筆記13 將既有的Container製作成image,而不使用Dockerfile

透過docker commit指令將既有的Container製作成image

ZONGRU Li
Oct 29, 2020

先來看看前面Dockerfile要完成的事就如其內容一樣

現在我先起一個alpine的Container並進入到sh介面,執行

docker run -it alpine sh

接著就可以手動執行Dockerfile內的RUN的項目來安裝redis,執行

apk add --update redis

redis手動透過apk指令安裝在這個Container了

此時這個alpine image起的Container內就有裝好redis

這時開另一個terminal視窗查查這個Container ID,執行

docker ps

得到Container ID:7fecd247edfb

再來就差Dockerfile內的CMD,把啟動redis-server的指令裝進去了,執行

docker commit -c “CMD ‘redis-server’” {ContainerID}

此為window版的指令打法

註:以下為linux版的指令打法

docker commit -c ‘CMD[“redis-server”]’ {ContainerID}

如上就完成inage的建立

並且拿到了一個超長image ID,其實取其前12碼,docker就可以認得了

試著執行

docker run {上述ID前12碼:0fd1d2e331a0}

發現我們就正常啟動了一個alpine base且裝有redis的Container,並等待接收redis指令!

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet