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

docker搭建个人镜像仓库

docker搭建个人镜像仓库

安装registry

mkdir docker-registry
cd docker-registry
mkdir registry
mkdr auth
vim docker-compose.yml

docker-compose.yml的内容如下:

version: '3'
services:
  registry:
    image: registry
    container_name: registry
    volumes:
      - ./registry:/var/lib/registry
      - ./auth:/auth
    environment:
      - REGISTRY_AUTH=htpasswd
      - REGISTRY_AUTH_HTPASSWD_REALM=Registry_Realm
      - REGISTRY_AUTH_HTPASSWD_PATH=/auth/passwd
    restart: always
    ports:
      - "5000:5000"

用htpasswd先生成一个密码,然后将文件拷贝到auth下面,用这个用户名密码登录。

htpasswd -Bbc htpasswd.user admin 123456
mv htpasswd.user auth/passwd

然后再启动镜像:

docker-compose up -d

添加镜像仓库到registry

  • 编辑docker配置文件

在 /etc/docker/daemon.json 文件中写入如下内容:

    {
        "registry-mirror": [
          "https://registry.docker-cn.com"
        ],
        "insecure-registries": [
          "ip:port"
        ]
    }
  • 修改完成后重启docker服务
systemctl restart docker
  • 登录到docker registry
(base) ➜  docker_registry git:(main)sudo docker login http://192.168.80.20:5000
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
  • 加上个人仓库标签然后push
docker tag registry 192.168.80.20:5000/registry
docker push 192.168.80.20:5000/registry

设置镜像仓库ui

  • 编辑配置文件
vim registry_ui.yml

内容如下:

version: '3'
services:
  registry-ui:
    image: konradkleine/docker-registry-frontend:v2
    container_name: registry_ui
    restart: always
    privileged: true
    environment:
      - ENV_DOCKER_REGISTRY_HOST=192.168.80.20
      - ENV_DOCKER_REGISTRY_PORT=5000
    ports:
      - "5001:80"
  • 启动registry-ui
docker-compose -f registry_ui.yml up -d

http://www.kler.cn/a/104510.html

相关文章:

  • css-边框流水线
  • Spirit:继承 gh-ost 灵魂的 MySQL 在线大表变更方案
  • 图论02-【无权无向】-图的深度优先遍历DFS
  • VUE父组件向子组件传递数据和方法
  • 【嵌入式项目应用】__cJSON在单片机的使用
  • 威联通NAS进阶玩法之使用Docker搭建个人博客教程
  • 算法通过村第十六关-滑动窗口|黄金笔记|结合堆的应用
  • 并发编程面试笔记
  • 私人网盘nextcloud安装
  • 软信天成:助力某制造企业建设产品主数据管理平台案例分享
  • 导入自己的jacoco exec文件到IDEA并进行展示
  • c++构造函数
  • 【2024秋招】2023-9-14 最右线下后端开发二面
  • Vue 2 生命周期与 Vue 3 生命周期:介绍与差别对比
  • GoLong的学习之路(七)语法之slice(切片)
  • 运维 | 使用 Docker 安装 Jenkins | Jenkins
  • Are Large Language Models Really Robust to Word-Level Perturbations?
  • [linux] 怎么批量kill掉挂载运行python 某个.py文件的端口
  • 23款奔驰E300L升级几何多光束大灯 车辆自检等功能
  • Kotlin中的异常处理