本地docker-compose仓库搭建以及推送docker镜像到仓库

前言

以下部分知识只适用于linux,不适合小白,请自行甄别执行

1.搭建

#参考 https://blog.csdn.net/u011535199/article/details/107457275
version: '3'
services:
 registry:
  restart: always
  image: registry:2
  ports:
    - 5000:5000
  environment:
    #REGISTRY_HTTP_TLS_CERTIFICATE: /certs/registry.crt
    #REGISTRY_HTTP_TLS_KEY: /certs/registry.key
    REGISTRY_AUTH: htpasswd
    REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
    REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
  volumes:
    - /mnt/nas/edison/registry/data:/var/lib/registry
#    - /mnt/nas/edison/registry/cert:/certs
    - /mnt/nas/edison/registry/auth:/auth
    - /mnt/nas/edison/registry/config.yml:/usr/local/docker/config.yml
 registry-ui:
   image: konradkleine/docker-registry-frontend:v2
   restart: always
   environment:
     - ENV_DOCKER_REGISTRY_HOST=registry
     - ENV_DOCKER_REGISTRY_PORT=5000
#     - ENV_DOCKER_REGISTRY_USE_SSL=0  没有ssl证书这个一定要注释,否则请求会报502
   ports:
     - "5001:80"

2.密码

可以在本地执行一下命令后将auth.htpasswd的内容复制到线上的/xxx/registry/auth/htpasswd中
本地没有htpasswd的可以自行安装,比如manjaro或者arch采用sudo pacman -S apache即可安装

htpasswd -nbB 《用户名》 《密码》 >> auth.htpasswd

3.配置源(registry-mirrors和insecure-registries不要搞混了)
/etc/docker/daemon.json

{
    
    
  "registry-mirrors": [
    "https://docker.1ms.run"
  ],
"insecure-registries":["192.168.29.110:5000"]
}

3.推送镜像前进行cli登录

docker login 192.168.29.110:5000
#下面这里根据提示输入对应的账号密码看到 Login Succeeded即证明登录成功
Username: xxxx
Password: 
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores

Login Succeeded

4.需要提交的镜像设置tag,并且将镜像设置到对应的源上(本地这个必须要)

 docker tag docker-npm-lazy-mirror 192.168.29.110:5000/docker-npm-lazy-mirror:v1

5.提交

$ docker push 192.168.29.110:5000/docker-npm-lazy-mirror:v1
The push refers to repository [192.168.29.110:5000/docker-npm-lazy-mirror]
6d1e2462296d: Pushed 
78bfabdd0970: Pushed 
5437413e7286: Pushed 
71cfb19d4007: Pushed 
37f043756873: Pushed 
c0cd119f9646: Pushed 
23044129c2ac: Pushed 
8b229ec78121: Pushed 
3b65755e1220: Pushed 
2c833f307fd8: Pushed 
v1: digest: sha256:73c5435fc96fd21052e2419c5fdad9178d4b235eff96d41cb5b0749baf2fdad8 size: 2426


后记

当然这个docker-compose中包含一个web服务以实现类似docker-hub的web界面,用于查看和搜索镜像,在端口5001

猜你喜欢

转载自blog.csdn.net/qq_38883889/article/details/143255003