docker打包,針對的是鏡像,而不是運行中的容器。
查看當前系統的鏡像文件:
docker images
首先,將當前運行中的,已經自定義修改之后的容器保存為新的鏡像。
docker commit ce11ed87f21f web_servers:2.0
例如鏡像名叫:web_servers
執行打包命令:將鏡像web_servers 通過save打包命令,以為.tar格式保存在路徑/home下。
docker save web_servers:2.0 -o /home/web_servers.tar
打包命令執行完成之后,如果打包的鏡像文件占用空間比較大,可以用操作系統的tar -zcvf打包壓縮命令,將該鏡像包再進行一次壓縮。
OK,致此,容器打包完成。
***************
這樣就可以將該打包的容器,傳輸到其他服務器,直接運行啟動。
例如,將該鏡像文件傳輸到另一台服務器上,前提是目標服務器上已安裝docker環境;
docker load < db.tar docker load < web_servers.tar
用docker images 命令查看鏡像是否導入成功。
首先啟動運行數據庫容器:
docker run -d -p 5432:5432 -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=實際密碼****** -e POSTGRES_DB=alsv --name alsv_db db:10.6
啟動運行web_servers.tar應用容器:(注意端口映射,如果需要共享操作系統本地路徑,注意容器卷映射)
方式一:
共享系統存儲路徑:docker run -it -d --name web_servers -p 8088:8088 web_servers:2.0
方式二:
指定存儲路徑:(將系統的/home/test/映射到容器內部的/mnt/ )
docker run -it --name web_servers -v /home/test/:/mnt/ -p 8088:8088 web_servers:2.0 /bin/bash
沒有異常的話,查看運行狀態:
docker ps