docker製作本地映象(mysql、nginx)
前言:
https://blog.csdn.net/liukuan73/article/details/78089138
docker save的應用場景是,如果你的應用是使用docker-compose.yml編排的多個映象組合,但你要部署的客戶伺服器並不能連外網。這時,你可以使用docker save將用到的映象打個包,然後拷貝到客戶伺服器上使用docker load載入。
docker export的應用場景主要用來製作基礎映象,比如你從一個ubuntu映象啟動一個容器,然後安裝一些軟體和進行一些設定後,使用docker export儲存為一個基礎映象。然後,把這個映象分發給其他人使用,比如作為基礎的開發環境。
總結一下docker save和docker export的區別:
- docker save儲存的是映象(image),docker export儲存的是容器(container);
- docker load用來載入映象包,docker import用來載入容器包,但兩者都會恢復為映象;
- docker load不能對載入的映象重新命名,而docker import可以為映象指定新名稱。
https://www.jianshu.com/p/d80501027fbf
1、匯出容器:(docker save -o mysq.tar mysql:5.7)
docker save -o mysq.tar(需要匯出的映象檔名稱) mysql:5.7(其中mysql 是映象檔名稱,5,7是映象的tag 版本)
2、cd /home/dockertest
建立映象資料夾並賦權:mkdir -m 755 images
3、匯出mysql映象到docker中
docker load < ./images/mysql.tar
4、建立mysql配置檔案和資料目錄(用於docker-compose.yml的外掛配置)
mkdir -m 755 mysql
cd /mysql
mkdir -m 755 conf
mkdir -m 755 data
注意:此處可以複製原來的資料庫資料,所有賬號資訊與原來一致
docker-compose.yml檔案清單:
version: '3' # 自定義網路 networks: jiakt-net: driver: bridge services: mysql: image: mysql:5.6 container_name: xxx-mysql hostname: xxx-mysql ports: - 3306:3306 restart: always volumes: - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro - ./mysql/conf:/etc/mysql/conf.d - ./mysql/data:/var/lib/mysql environment: TZ: Asia/Shanghai networks: - xxx-net