云服务器部署可视化Docker私有仓库(Ubuntu)

2023-12-13 05:47:35

这里测试的机器为ubuntu22.04

一、环境安装

docker安装就不赘述了
先升级,再从官方仓库安装docker compose

apt update
apt upgrade
apt install docker-compose

二、部署私有仓库UI

Docker提供了一个叫registry的镜像,给大家搭建私有仓库,但是没有可视化界面。
https://hub.docker.com/r/joxit/docker-registry-ui
这个镜像在registry基础之上,开发了网页可视化。

1. 创建一个文件夹Docker_Registry
2. 进入其中继续创建registry-data文件夹和docker-compose.yaml文件
3. yaml文件
version: '3.8'

services:
  registry-ui:
    image: joxit/docker-registry-ui:main
    restart: always
    ports:
      - 8090:80 #这里8090改成可视化网页服务端口
    environment:
      - SINGLE_REGISTRY=true
      - REGISTRY_TITLE=Xiamu Docker Registry UI #这里可以修改标题
      - DELETE_IMAGES=true
      - SHOW_CONTENT_DIGEST=true
      - NGINX_PROXY_PASS_URL=http://registry-server:5000
      - SHOW_CATALOG_NB_TAGS=true
      - CATALOG_MIN_BRANCHES=1
      - CATALOG_MAX_BRANCHES=1
      - TAGLIST_PAGE_SIZE=100
      - REGISTRY_SECURED=false
      - CATALOG_ELEMENTS_LIMIT=1000
    container_name: registry-ui
    depends_on:
      - registry-server

  registry-server:
    image: registry:2.8.2
    restart: always
    environment:
      REGISTRY_HTTP_HEADERS_Access-Control-Origin: '[http://your_server_ip]' # 这里改成你的云服务ip,启用CORS
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]'
      REGISTRY_HTTP_HEADERS_Access-Control-Credentials: '[true]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]'
      REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers: '[Docker-Content-Digest]'
      REGISTRY_STORAGE_DELETE_ENABLED: 'true'
    volumes:
      - ./registry-data:/var/lib/registry
    container_name: registry-server
4. 部署

进入Docker_Registry目录,执行

docker-compose -f ./docker-compose.yaml up

三、访问

通过http://your_server_ip:8090 访问UI
在这里插入图片描述

四、上传和拉取镜像

打开vi /etc/docker/daemon.json添加以下内容:

"insecure-registries":["http://your_server_ip:8090"]

这样docker才会信任你的私有仓库。

假设你的服务器ip为192.168.750.101,port为8090
推送镜像到私有镜像服务必须先tag,步骤如下:

  1. 重新tag本地镜像,名称前缀为私有仓库的地址: 192.168.150.101:8090/
docker tag nginx:latest 192.168.150.101:8090/nginx:1.0
  1. 推送镜像
docker push 192.168.150.101:8090/nginx:1.0
  1. 拉取镜像
docker pull 192.168.150.101:8090/nginx:1.0

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_51390969/article/details/134950880
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。