自建docker-registry服务

本地运行registry服务

命令:

docker run -d -p 5000:5000 -v /home/renwei/docker-repositories:/var/lib/registry --restart=always --name registry registry

客户机器上的设置方法

原来的docker在Ubuntu要修改文件 /lib/systemd/system/docker.service :

ExecStart=/usr/bin/dockerd --insecure-registry=192.168.1.2:5000 -H fd://

对于现在的docker-ce,修改/etc/docker/daemon.json文件(如果没有此文件就创建)

{
  "insecure-registries" : ["myregistrydomain.com:5000"]
}

修改完记得重启docker服务

sudo service docker restart

添加mirror的方法

还是修改/etc/docker/daemon.json文件:

{
  "registry-mirrors": ["https://registry.docker-cn.com", "https://hub-mirror.c.163.com"]
}

当然启动dockerd时命令行参数指定也可以

dockerd --registry-mirror=https://registry.docker-cn.com

不通过registery传递镜像的方法

# 导出到一个tar文件
# 将tar文件拷贝到另一台主机
# 在另一台主机导入, 导入后未命名
docker save <docker image name> > /tmp/<docker image name>.tar
docker load < /tmp/<docker image name>.tar
 
# OR
docker save -o ./mynewimage.tar mynewimage
docker load -i /opt/soft_bak/mynewimage.tar
 
# with gzip
docker save <docker image name> | gzip > <docker image name>.tar.gz
zcat <docker image name>.tar.gz | docker load

export命令用于持久化容器(不是镜像),save命令用于持久化镜像(不是容器)。
另外,通过这saveload命令,我们甚至可以使用docker镜像来当我们的软件包来实现软件分发升级。

发表评论

电子邮件地址不会被公开。 必填项已用*标注