[docker]$7_Docker Registry

Docker Registry

Docker Registry deployment

$ docker run -d -p 5000:5000 --restart=always --name registry registry:2

Use Registry warehouse management and mirror

# 拉取镜像 redis:latest
$ docker pull redis
$ docker tag redis:latest localhost:5000/my-redis

$ docker push repository localhost:5000/my-redis


$ docker image remove redis:latest 
$ docker image remove localhost:5000/my-redis

$ docker pull localost:5000/my-redis

Docker Registry Configuration

1. The image storage
创建一个 Registry,使用宿主机上的 /home/shiyanlou/data 目录作为存储镜像的数据卷:

$ docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /home/shiyanlou/data:/var/lib/registry \
  registry:2


将本地的 localhost:5000/my-redis 镜像推送到 Registry,然后查看 /home/shiyanlou/data 目录的变化:
$ docker push localhost:5000/my-redis
$ ls /home/shiyanlou/data
2. authentication mechanism
首先我们需要创建一个保存用户名和密码的认证文件夹,并使用 htpasswd 创建一个认证信息:

$ mkdir /home/shiyanlou/auth
$ docker run --entrypoint htpasswd registry:2 -Bbn shiyanlouuser shiyanloupass > auth/htpasswd


$ docker container rm -f registry




启动 Registry,使用该认证信息,需要将 /home/shiyanlou/auth 挂载到 Registry 的 /auth 目录:

$ docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v $(pwd)/auth:/auth \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
  registry:2



# 登录方式
$ docker login localhost:5000
Published 78 original articles · won praise 0 · Views 1429

Guess you like

Origin blog.csdn.net/qq_30782921/article/details/101679686