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

0、如果需要指定仓库名称,可以用dokcer tag(标记本地镜像,将其归入某一仓库。)

https://blog.csdn.net/Roker_966/article/details/107201299

https://www.runoob.com/docker/docker-tag-command.html

docker tag mysql:5.6  wd/mysql:5.6

 

 

1、导出容器:(docker save -o mysql.tar wd/mysql:5.6)

docker save -o mysq.tar(需要导出的镜像文件名称) wd/mysql:5.6(其中mysql 是镜像文件名称,5.6是镜像的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

注意:如果mysql版本和原来一致,此处可以复制原来的数据库数据,所有账号信息与原来一致

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

 

 

posted @ 2021-12-08 18:20  吾码的博客  阅读(1213)  评论(0编辑  收藏  举报