首页 > 其他分享 >利用 docker 搭建 registry 私有仓库

利用 docker 搭建 registry 私有仓库

时间:2023-05-01 15:44:27浏览次数:41  
标签:opt 私有 certs registry 镜像 docker REGISTRY

搭建环境:Debian 11 (bullseye)

1. 安装 docker 并配置镜像加速器

下载安装:https://docs.docker.com/engine/install/debian/

镜像加速器配置:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

2. 下载 registry 镜像

 3. 配置 https 证书

# 创建证书存放目录

mkdir -p /opt/docker-registry/certs/

# 生成私钥 cd /opt/docker-registry/certs/ openssl genrsa 2048 >server.key  # 生成证书请求文件 cat > csr.cnf <<END  [req]  default_bits = 2048  prompt = no  default_md = sha256  distinguished_name = dn    [dn]  C = CN  ST = Shanghai L = Shanghai  O = demoduan OU = devan  CN = registry.demoduan.com  END openssl req -new -key server.key -config csr.cnf -out server.csr  # 生成自签证书 openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 4. 配置仓库登录帐密 # 创建账密存放目录 mkdir /opt/docker-registry/auth # 安装 htpasswd 命令

apt -y install apache2-utils

# 设置帐密

htpasswd -Bbn demoduan demoduan-registry >/opt/docker-registry/auth/htpasswd  5. 运行 registry 容器

docker run --privileged -d -v /opt/docker-registry:/var/lib/registry:Z \

-e REGISTRY_HTTP_TLS_CERTIFICATE=/var/lib/registry/certs/server.crt \

-e REGISTRY_HTTP_TLS_KEY=/var/lib/registry/certs/server.key \

-e "REGISTRY_AUTH=htpasswd" \

-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \

-e REGISTRY_AUTH_HTPASSWD_PATH=/var/lib/registry/auth/htpasswd \

-p 5000:5000 --restart=always \

--name registry registry:latest 

6. 登录查看 registry

在浏览器中输入:https://your_ip:5000

在命令行中查看 registry 中的镜像

7. registry 仓库上传下载镜像

8. 同网段安全访问

mkdir /etc/docker/certs.d/registry.demoduan.com:50000/ -p  (同网段主机操作) scp /opt/docker-registry/certs/server.crt   root@remote_host:/etc/docker/certs.d/registry.gzy.com:50000/ca.crt (docker-registry端操作)

标签:opt,私有,certs,registry,镜像,docker,REGISTRY
From: https://www.cnblogs.com/demoduan/p/17366555.html

相关文章

  • 使用 Docker Compose 安装 MongoDB
    最近学习Docker,试着在Docker里安装MongoDB,按照镜像mongo文档一顿操作猛如虎。快速开始写个docker-compose.yml文件:version:'3.8'services:db:image:mongocontainer_name:mongodb-containerports:-'27017:27017'......
  • Docker CLI docker compose port常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • 云原生之使用Docker部署webssh工具sshwifty
    (云原生之使用Docker部署webssh工具sshwifty)一、sshwifty介绍1.sshwifty简介sshwifty是一款WebSSH&Telnet(WebSSH&WebTelnet客户端工具。2.shwifty特点shwifty是为Web设计的SSH和Telnet连接器。它可以部署在您的计算机或服务器上,为任何兼容(标准)的网络浏览器......
  • 如何给正在运行的docker容器添加端口映射
    我们都知道启动docker容器的时候可以使用-d参数进行端口映射,但是如果你的容器已经创建出来了但是突然又想要添加一个端口映射,这时总不能重新创建一个容器吧,之前的工作不都白费了吗有一个办法就是先将当前已经配置过的容器打包成新的镜像,然后用这个镜像生成一个新的容器,这样所做的......
  • 制作一个包含Centos7+Nginx+Mysql8+JDK8的Docker镜像
    1.创建一个文件夹用于构建Docker镜像:mkdirmy-docker-imagecdmy-docker-image2.在该文件夹中创建一个名为Dockerfile的文件。vimDockerfile3.在Dockerfile中编写以下代码:FROMcentos:7#RUNsed-i's/deb.debian.org/mirrors.aliyun.com/g'/etc/apt/sources.list......
  • Dockers下php容器中安装redis扩展
    首先进入php容器dockerexec-it容器ID或名称查看php安装位置  whichphp查看php已安装扩展  php-m1、下载redis扩展包   redis扩展下载地址【https://pecl.php.net/package/redis 】下载相应版本的扩展2、解压扩展包   tar-zxvfredis-5.1.1.tg......
  • 【npm】创建私有npm包,使用Verdaccio
    1、npm官网可以创建私有npm包,但是要收费,每人每月7$,先找免费的2、在线的免费的有GitHub,可以看文章:https://andreybleme.com/2020-05-31/hosting-private-npm-packages-for-free/3、自己本地搭建仓库,可以使用开源项目 verdaccio,这个项目的前身是 sinopia,前身已经不维护了,verdaccio......
  • 使用docker快速安装mongodb.md
    1.拉取mongodb镜像dockerpullmongo2.创建文件夹mkdir-p/home/mongo/conf/mkdir-p/home/mongo/data/mkdir-p/home/mongo/logs/3.新增mongod.conf文件cd/home/mongo/conf&&vimongod.confmongod.conf文件内容:#数据库文件存储位置dbpath=/data/db#log文......
  • 使用docker快速安装mysql.md
    1.拉取mysql镜像dockerpullmysql:8.0.182.docker容器构建和运行mysqldockerrun--namemysql\ -p3306:3306\-eMYSQL_ROOT_PASSWORD=123456\ -v/home/mysql/data:/var/lib/mysql:rw\-v/home/mysql/mysql-files:/var/lib/mysql-files:rw\-v/home/......
  • Docker
    #1、yum包更新到最新yumupdate#2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#3、设置yum源yum-config-manager--add-repohttps://download.docker.com/linux......