Docker(Ubuntu)私有库建立步骤

本文详细介绍如何在Ubuntu环境下利用Docker搭建私有仓库registry,包括环境准备、镜像下载及容器启动、本地服务器IP设置及HTTPS证书配置,并提供上传下载镜像的测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        

Docker(Ubuntu)私有库建立步骤


Docker私设服务器官方操作规范:

https://docs.docker.com/registry/deploying/#copy-an-image-from-docker-hub-to-your-registry 

 

Docker 自带注册镜像registry  ,启动该镜像后变可自定义设置私设服务器.

 

 

1. 环境准备

     装有Docker2 Ubuntu虚拟机,私有库

     10.130.45.223 为案例.

    

2.下载私有项目

   首先在机器上下载registry镜像:  $ sudo docker pull registry

     下载完之后我们通过该镜像启动一个容器

     $ docker run -d -ti --restart always --name docker-hub -p5000:5000 -v /docker-hub/registry:/var/lib/registry registr

   默认情况下,会将仓库存放于容器内的/var/lib/registry(官网Dockerfile中查看)目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/var/lib/registry

     (a).run 起来后可以访问http://10.130.45.223:5000/v2/_catalog  查看库存界面

     (b). curl -XGET 10.130.45.223:5000/v2/_catalog也可以收到指令提示

 

3.本地服务器IP设置

     http访问:

    只需添加信赖,因为我们启动的registry服务不是安全可信赖的。这是我们需要修改docker的目录/etc/docker/下创建 daemon.json 文件,添加下面的内容:

    echo '{"insecure-registries":["10.130.45.223:5000"] }' > /etc/docker/daemon.json

 

 

   https访问:

    需要制作https自签名证书,httpsssl证书不允许使用ip地址,需要通过223dns服务器设置宿主机域名为:ubuntu.vsct.io

制作CA证书:

openssl genrsa -des3 -out ca.key 2048  #生成私钥,后面这个2048是密钥长度

openssl req -new -x509 -days 7305 -key ca.key-out ca.crt  #生成公钥

 

生成服务端证书并用CA签名认证:

openssl genrsa -des3 -out ubuntu.vsct.io.key2048   #生成ubuntu.vsct.io.key证书私钥

openssl req -new -key ubuntu.vsct.io.key -outubuntu.vsct.io.csr   # 生成签名请求,common name填写域名

openssl ca -policy policy_anything -days 1460-cert ca.crt -keyfile ca.key -in ubuntu.vsct.io.csr -out  ubuntu.vsct.io.crt  #              使用CA进行签名

 

客户端安装证书;

把生成的客户端证书放到 /etc/docker/certs.d/ubuntu.vsct.io/ca.crt    

 

 

 

4.本地服务器上传下载测试

   修改文件或者配置证书后都需要

   systemctl restart docker.service

  

   可以随便下载个镜像push 私设服务器中,这里选用本地镜像换个标签名字推送到私设服务器.

docker  tag  ubutun   test-public-ubuntu

docker push  test-public-ubuntu

   然后可以尝试下载

docker  pull   test-public-ubuntu

 


### 如何在Ubuntu上配置和使用Docker私有镜像仓库 #### 安装必要的软件包 为了确保环境准备就绪,在开始之前需要更新现有的软件包列表并安装一些必需的工具。这可以通过运行以下命令来完成: ```bash sudo apt-get update && sudo apt-get install -y curl jq ``` #### 安装Docker Engine 如果尚未安装Docker引擎,则需先按照官方指南进行安装。对于Ubuntu 20.04,可以执行如下操作以简化流程[^1]。 ```bash curl -fsSL https://get.docker.com | sh ``` #### 启动并启用Docker服务 一旦安装完毕,启动Docker守护程序,并将其设置为开机自启。 ```bash sudo systemctl start docker sudo systemctl enable docker ``` #### 创建私有Registry容器实例 通过拉取官方registry镜像创建一个新的容器用于托管私有Docker registry。此过程涉及指定端口映射以便外部访问。 ```bash docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 上述命令会部署一个监听于`localhost:5000`的服务作为私有仓库入口。 #### 推送本地构建好的镜像到私有仓库 假设已经有一个名为`myapp:v1`的应用程序镜像想要上传至新建立私有仓库内。此时应标记该镜像使其关联特定地址前缀再推送上去。 ```bash docker tag myapp:v1 localhost:5000/myapp:v1 docker push localhost:5000/myapp:v1 ``` 成功后即可验证是否存在于远程位置。 #### 下载来自私有仓库中的镜像 当其他机器希望获取存储在此处的内容时,只需指明完整的路径名即可轻松检索所需资源。 ```bash docker pull 10.176.233.24:5000/mysql docker pull 10.176.233.24:5000/java-image docker image ls ``` 以上步骤展示了如何在一个基于Ubuntu的操作系统环境中快速建立起属于自己的Docker私有镜像库,并能够顺利地向其中存入以及从中取出所需的镜像文件[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值