当前位置: 首页 > article >正文

本地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


http://www.kler.cn/news/367439.html

相关文章:

  • Spring Boot框架在学生宿舍管理中的应用研究
  • DEVOPS: 容器与虚拟化与云原生
  • 系统聚类比较——最短距离法、最长距离法、重心法和类平均法
  • nfs服务部署案例
  • 如何提高游戏的游戏性
  • 【NOIP提高组】加分二叉树
  • 音视频入门基础:AAC专题(11)——AudioSpecificConfig简介
  • 【ChatGPT】在多轮对话中引导 ChatGPT 保持一致性
  • 【Qt6聊天室项目】 主界面功能实现
  • 基于SpringBoot的酒店管理系统的设计与实现
  • echarts5.2.2实现 水球图表
  • pdf表格读取和筛选
  • Git process for submit and download
  • 传输层TCP
  • Flutter鸿蒙next 中如何实现 WebView【跳、显、适、反】等一些基础问题
  • 使用无线方式连接Android设备进行调试的两种方法
  • 基于Spring boot+Vue 网吧管理系统(源码+LW+部署讲解+数据库+ppt)
  • Rancher2.6管理k8s1.23
  • SQL实战训练之,力扣:1831. 每天的最大交易
  • C++网络编程之C/S模型
  • 服务器数据恢复—EXT3文件系统下邮件数据被误删的数据恢复案例
  • [网络协议篇] ICMP协议
  • 4-petalinux2018.3 摸索记录 -linux 驱动 (交叉编译)
  • QHeaderView添加复选框以及样式
  • R语言机器学习算法实战系列(十四): CatBoost分类算法+SHAP值 (categorical data gradient boosting)
  • LeetCode练习-删除链表的第n个结节