Docker-registry2.7文档
##文档使用的MARKDOWN,好像支持有些问题…
一, Docker-registry简介
参考:Docker-registry官网
Docker-registry即一个私有镜像仓库,是完全开源的。
DockerHub是由Docker官方维护的镜像仓库,允许且仅允许创建一个私有仓库,很难满足使用需求,所以提供了Docker-registry镜像来搭建私有镜像仓库。
二,基本命令
基本命令
#启动docker-registry容器
docker run -d -p 5000:5000 --name registry registry:2.7
#拉取一个公共镜像ubuntu
docker pull ubuntu
#标记镜像,使其指向私有镜像仓库
docker image tag ubuntu localhost:5000/ubuntu
#推送到私有镜像仓库
docker pull localhost:5000/ubutnu
#停止并删除所有数据
docker container stop registry && docker container rm -v registry
三,配置registry容器CMD和Docker-compose
命令行配置
docker run -d \
--restart=always \ #生产环境使用,保证容器一直处理运行状态
--name registry \ #定义容器name
-v "$(pwd)"/certs:/certs \ #定义证书
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ #定义registry在容器内的监控端口
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ #定义容器证书CRT路径
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ #定义容器证书KEY路径
-p 443:443 \ #定义容器暴露端口,即服务端口
registry:2.7 #远程镜像名
#启动之后,docker客户端可以使用外部地址访问
$ docker pull ubuntu:16.04
$ docker tag ubuntu:16.04 myregistry.domain.com/my-ubuntu
$ docker push myregistry.domain.com/my-ubuntu
$ docker pull myregistry.domain.com/my-ubuntu
#docker-compose.yaml
version:"3"
services:
registry:
restart: always
image: registry:2.7.0
ports:
- 5000:5000
environment:
REGISTRY_HTTP_TLS_CERTIFICATE: /var/ssl/test.crt
REGISTRY_HTTP_TLS_KEY: /var/ssl/test.key
REGISTRY_AUTH: htpa