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
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