# Docker 打包容器 --- ## 使用指令打包 ---- - 以下是將現有容器打包成映像檔的步驟。 1. 使用以下命令列出正在運行的容器,並找到要打包的容器的 ID。 ```bash= docker ps ``` ---- 2. 使用以下命令將容器保存為映像檔: ```bash= docker commit [CONTAINER_ID] [IMAGE_NAME] ``` ---- 其中,[CONTAINER_ID] 是要打包的容器的 ID,[IMAGE_NAME] 是映像檔的名稱和標籤。例如: ```bash= docker commit d9e57af7fde4 myimage:latest ``` 在上面的示例中,d9e57af7fde4 是要打包的容器的 ID,myimage:latest 是映像檔的名稱和標籤。 ---- 3. 使用以下命令列出所有映像檔,確認已經成功創建了映像檔: ```bash= docker images ``` 其中,[CONTAINER_ID] 是要刪除的容器的 ID。如果不需要刪除原始容器,可以跳過此步驟。 ---- 4. 接下來可以使用以下命令運行新創建的映像檔: ```bash= docker run -it [IMAGE_NAME] /bin/bash ``` 其中,-it 選項用於指定容器在交互模式下運行,[IMAGE_NAME] 是剛剛創建的映像檔的名稱和標籤。 ---- 以上是將現有容器打包成映像檔的基本步驟。需要注意的是,這種方式打包出來的映像檔通常體積較大,因為它包含了整個容器的狀態和文件系統。如果需要更小的映像檔,可以考慮使用 Dockerfile 構建映像檔,而不是將現有容器打包。 --- ## 使用Portainer 打包容器 ---- 使用指令打包十分麻煩,且不直覺 所幸Portainer有提供打包工具,可以快速打包下載或上傳。 ---- ### 1. 取要打包的容器 ![](https://i.imgur.com/xYwl47C.png) ---- ### 2. 為Image取名與設定 ![](https://i.imgur.com/hnq1Y8H.png) ---- ### 3. 處理image ![](https://i.imgur.com/DsMO183.png) ---- ### 4. 控制image ![](https://i.imgur.com/mixUrJz.png) ---- ### 5. Push image 上載前,要到"tag the image"對image加上倉庫註解與tag ![](https://i.imgur.com/bIf0uWV.png) ---- ### 6. 下載image ![](https://i.imgur.com/YI4T9vv.png) --- ## 使用docker image檔案 ---- ### 1. 匯入檔案 ![](https://i.imgur.com/2IQZkMR.png) ---- ### 2. 上載image.tar ![](https://i.imgur.com/KJrsRrt.png) ---- ### 3. 使用image ![](https://i.imgur.com/r3Ugcc4.png)
{"metaMigratedAt":"2023-06-18T01:48:44.851Z","metaMigratedFrom":"YAML","title":"Docker 打包容器","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"spotlight\":{\"enabled\":false}}","contributors":"[{\"id\":\"388c4bf6-8beb-45c5-8632-2fb50296a8c5\",\"add\":1592,\"del\":2}]"}
    645 views