您的位置:首页 > 运维架构 > Docker

[置顶] centos7上部署Docker 私有库

2018-02-11 16:31 513 查看

Docker 私有库

有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库

Docker 安装

$ sudo yum-config-manager \
--add-repo \ https://download.docker.com/linux/centos/docker-ce.repo $ sudo yum install docker-ce
# 启动docekr
$ sudo systemctl start docker
# 查看Docker版本信息
$ sudo docker version




Docker 镜像仓库启动

$ sudo docker run --name=registry --restart=unless-stopped --privileged=true -d -p 5523:5000 \
-v /opt/registry:/var/lib/registry registry.docker-cn.com/library/registry




命令解读:

–restart:镜像服务重启策略,默认是Docker服务重启时镜像服务是不会自动启动的,所以使用unless-stopped让镜像仓库随Docker服务启动而启动。

–privileged:centos7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误。

-v:默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下。你可以通过 -v 参数来将镜像文件存放在本地的指定路径。

Docker 非安全连接模式私有库配置

Docker pull 默认采用的是https模式连接,如果要是用http模式连接,则需要配置Docker参数。

新版本的Docker配置: /etc/sysconfig/docker文件中OPTIONS参数中添加–insecure-registry=私有库IP:PORT。



旧版本的Docker配置:usr/lib/systemd/system/docker.service文件中添加–insecure-registry参数。

$ sudo sed -i -e 's/dockerd/dockerd --insecure-registry=192.168.1.200:5523/g' /usr/lib/systemd/system/docker.service


私有库镜像push和pull操作

push:在push镜像时需要将镜像重新打tag。

$ sudo docker tag [imageID]:[私有库IP:端口/镜像名:版本]
$ sudo docker push [私有库IP:端口/镜像名:版本]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: