如何开始docker - 私有docker镜像仓库
前言
在使用公共的镜像的时候,有些更新没法手动控制,而且如果是自己内部的镜像也不可能直接 push 到公共镜像里面,因此,需要有自己的私有仓库。
docker-registry
docker 官方提供一个 docker-register 工具,用于构建私有仓库。
这个工具有两种方式运行,一种是 docker 官方提供的镜像,直接运行;另一种是直接在操作系统上部署运行。
容器运行
在安装启动 docker 服务以后,直接运行命令
docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry registery
记得把镜像存储的目录映射出来,不然容器没了,数据就没了。
本地安装
新版本的 docker-registry 是用 Go 语言写的,因此,到 github 上就可以找到对应的二进制了:s
https://github.com/docker/distribution-library-image/tree/master/amd64
找到 register 和 config-example.yml 文件
register
Usage:
registry [flags]
registry [command]
Available Commands:
serve `serve` stores and distributes Docker images
garbage-collect `garbage-collect` deletes layers not referenced by any manifests
help Help about any command
Flags:
-h, --help=false: help for registry
-v, --version=false: show the version and exit
修改配置文件:
cp config-example.yaml /etc/docker/config.yaml
vim /etc/docker/config.yaml
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /data/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
运行服务
./registry serve /etc/docker/config.yaml
使用
创建好私有仓库以后,可以通过修改标签,来将现有的镜像提交到私有仓库
修改名称和标签:
docker tag centos:latest 192.168.1.100:5000/centos:latest
push 到私有仓库:
docker push 192.168.1.100:5000/centos:latest
pull 到本地:
docker pull 192.168.1.100:5000/centos:latest
- 原文作者:Linux运维菜
- 原文链接:https://www.opcai.top/post/2019/2019-02/docker9/
- 版权声明:本作品采用进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。