#docker-registry server部署
有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。
docker-registry
是官方提供的工具,可以用于构建私有的镜像仓库。
##环境准备
操作系统:CentOS7
IP地址:10.10.0.11
docker version: 1.9.0
##安装运行 docker-registry
该方法使用http访问,如果将5000端口映射到外网,会很不安全。
关于设置TLS使用https访问,留坑。 ###下载registry
docker pull registry
###容器运行
在安装了 Docker 后,可以通过获取官方 registry 镜像来运行。
docker run -d -p 5000:5000 registry
默认情况下,仓库会被创建在容器的 /tmp/registry 下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。 例如下面的例子将上传的镜像放到 /app/docker_data
目录。
docker run -d -p 5000:5000 -v /app/docker_data:/tmp/registry registry
##修改docker
配置文件
修改docker.service
vim /usr/lib/systemd/system/docker.service
在ExecStart
后添加:--insecure-registry=10.10.0.11:5000:5000
[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd:// -g='/niub/docker --insecure-registry=10.10.0.11:5000'
然后执行
systemctl daemon-reload
systemctl stop docker.service
systemctl start docker.service
##上传、下载、搜索、删除镜像
###上传
创建好私有仓库之后,就可以使用 docker tag
来标记一个镜像,然后推送它到仓库,别的机器上就可以下载下来了。例如私有仓库地址为 10.10.0.11:5000
。
先在本机查看已有的镜像。
docker images
输出结果:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry latest acc35f593d3c 6 days ago 422.8 MB
ubuntu latest e9ae3c220b23 8 days ago 187.9 MB
etcd latest 2f5b87777e14 8 days ago 353 MB
centos latest e9fa5d3a0d0e 5 weeks ago 172.3 MB
以镜像ubuntu
为例,修改tag
docker tag ubuntu 10.10.0.11:5000/ubuntu
使用 docker push 上传标记的镜像。
docker push 10.10.0.11:5000/ubuntu
输出一下结果表示上传成功:
The push refers to a repository [10.10.0.11:5000/ubuntu] (len: 1)
Sending image list
Pushing repository 10.11.255.117:5000/ubuntu (1 tags)
0a85502c06c9: Image successfully pushed
0998bf8fb9e9: Image successfully pushed
a6785352b25c: Image successfully pushed
e9ae3c220b23: Image successfully pushed
Pushing tag for rev [e9ae3c220b23] on {http://10.10.0.11:5000/v1/repositories/ubuntu/tags/latest}
###下载 现在可以到另外一台机器去下载这个镜像。
使用命令:
docker pull 10.10.0.11:5000/ubuntu
###搜索 用 curl 查看仓库中的镜像。
curl http://10.10.0.11:5000/v1/search
输出结果:
{
"num_results": 1,
"query": "",
"results": [
{
"description": "",
"name": "library/ubuntu"
}
]
}
###删除 删除tags
http://10.10.0.11:5000/v1/repositories/ubuntu/tags/latest -XDELETE
###其他 留坑
来源:oschina
链接:https://my.oschina.net/u/106250/blog/532161