1. 程式人生 > 其它 >docker製作本地映象(mysql、nginx)

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的區別:

  1. docker save儲存的是映象(image),docker export儲存的是容器(container);
  2. docker load用來載入映象包,docker import用來載入容器包,但兩者都會恢復為映象;
  3. 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