Docker-镜像的备份迁移及私有仓库的搭建

一、Docker-备份与迁移

A服务器系统配置
在这里插入图片描述

B服务器系统配置
在这里插入图片描述

1.用命令将容器保存为镜像。
案例,将A服务器的Docker容器迁移到另外一台服务器B,A服务器的容器配置过对应的文件,不想在B服务器重新搭建,可以使用该案例。

docker commit 需要保存的容器名称 新建镜像名称
#示例:
#容器名为:test-mysql02
docker commit test-mysql02 test-mysql_i

#测试保存的镜像能否启动容器成功
#查看当前所有的镜像
docker images

#使用保存的镜像新建一个容器
docker run --name test-mysql03 -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -d test-mysql_i

#进入新创建的容器并进入数据库
docker exec -it test-mysql03 /bin/bash

#退出容器,并让容器保持运行
CTRL+P + CTRL+Q

在这里插入图片描述

2.镜像备份,用命令将镜像保存为tar文件。

3.使用场景:B服务器想使用a服务器的镜像,在没有搭建私有仓库和环境不允许的条件下使用该案例。

docker save -o 新建需要备份的镜像名.tar 备份的镜像名
#示例:
#镜像名为:test-mysql_i
docker save -o test-mysql_i.tar test-mysql_i

#删除容器
Docker rm test-mysql03

#删除镜像
docker rmi test-mysql_i

在这里插入图片描述

#恢复该镜像
docker load -i test-mysql_i.tar 

#查看当前镜像
docker images

在这里插入图片描述

二、Docker私有仓库的搭建

1.拉取私有仓库镜像

#拉取镜像
docker pull registry

#启动私有仓库容器
docker run --name registry -p 5000:5000 -d registry

#打开浏览器输入地址:http://服务器ip地址:5000/v2/_catalog
能看到代表部署成功{"repositories":[]}

#修改daemon.json
vi /etc/docker/daemon.json

#添加以下内容
{"insecure-registries":["ip地址:5000"]}
#此操作用于Docker信任私有仓库,

2.能看到该页面,说明启动成功私有仓库容器。

在这里插入图片描述
3.用于修改Docker的daemon.json配置文件。

#修改路径:
vi vi /etc/docker/daemon.json

#重启docker生效服务
systemctl restart docker 

在这里插入图片描述
4.B服务器拉取私有仓库的镜像

#标记此镜像为私有仓库的镜像
docker tag test-mysql_i  私有仓库IP地址:5000/test-mysql_i

#用于上传标记镜像
docker  push 私有仓库IP地址:5000/test-mysql_i

#B服务器拉取私有镜像仓库的镜像
1.安装docker
2.修改daemon.json
#修改路径:
vi /etc/docker/daemon.json

#添加内容
{"insecure-registries":["私有仓库IP地址:5000"]}

3.重启docker
systemctl restart docker

4.拉取私有仓库的镜像
docker pull 私有仓库的镜像的名称
示例:
docker pull 私有仓库IP地址:5000/test-mysql_i

在这里插入图片描述

B服务器拉取私有仓库的镜像

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是搭建私服镜像中心docker-registry和docker-registry-web的步骤: 1.安装DockerDocker Compose 2.创建一个目录来存储docker-compose.yml文件和证书文件 3.创建docker-compose.yml文件并添加以下内容: ```yaml version: '3' services: registry: restart: always image: registry:2 ports: - 5000:5000 environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./data:/var/lib/registry - ./auth:/auth - ./certs:/certs registry-web: restart: always image: mkuchin/docker-registry-web:v0.1.2 ports: - 8080:8080 environment: REGISTRY_URL: https://registry:5000 REGISTRY_WEB_TITLE: Docker Registry REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./auth:/auth - ./certs:/certs ``` 4.创建一个目录来存储证书文件和htpasswd文件 5.生成证书文件 ```shell openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt ``` 6.生成htpasswd文件 ```shell htpasswd -Bc auth/htpasswd <username> ``` 7.启动docker-compose ```shell docker-compose up -d ``` 8.访问https://<your-domain>:8080,输入用户名和密码即可登录docker-registry-web界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值