ubuntu

怎样用Ubuntu搭建Docker私有仓库

小樊
49
2025-06-25 10:01:43
栏目: 智能运维

在Ubuntu上搭建Docker私有仓库可以使用Docker自带的registry镜像。以下是详细的步骤:

1. 更新系统包

首先,确保你的Ubuntu系统是最新的:

sudo apt-get update
sudo apt-get upgrade

2. 安装Docker

如果你还没有安装Docker,可以使用以下命令进行安装:

sudo apt-get install docker.io

3. 启动Docker服务

确保Docker服务正在运行:

sudo systemctl start docker
sudo systemctl enable docker

4. 创建私有仓库容器

使用Docker自带的registry镜像来创建私有仓库容器。你可以选择将仓库存储在本地文件系统或远程存储(如NFS)上。

存储在本地文件系统

sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2

这个命令会在本地启动一个名为registry的容器,并将容器的5000端口映射到主机的5000端口。

存储在远程存储(如NFS)

如果你希望将仓库数据存储在远程存储上,可以这样做:

  1. 确保NFS服务器已经配置好,并且Ubuntu主机可以访问NFS共享。
  2. 创建一个目录用于存储仓库数据:
    sudo mkdir -p /mnt/nfs/registry
    sudo chown -R nobody:nogroup /mnt/nfs/registry
    
  3. 启动私有仓库容器,并挂载远程存储目录:
    sudo docker run -d -p 5000:5000 --restart=always --name registry -v /mnt/nfs/registry:/var/lib/registry registry:2
    

5. 配置Docker客户端信任私有仓库

为了让Docker客户端能够信任你的私有仓库,你需要将私有仓库的证书添加到Docker客户端的信任列表中。

获取私有仓库的证书

如果你使用的是自签名证书,可以使用以下命令获取证书:

sudo openssl s_client -connect localhost:5000 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > myregistrykey.pem

将证书添加到Docker客户端的信任列表

将获取到的证书复制到Docker客户端的信任目录:

sudo mkdir -p /etc/docker/certs.d/localhost:5000
sudo cp myregistrykey.pem /etc/docker/certs.d/localhost:5000/ca.crt

6. 测试私有仓库

现在你可以将镜像推送到私有仓库,并从中拉取镜像进行测试。

标记镜像

sudo docker tag ubuntu:latest localhost:5000/ubuntu:latest

推送镜像到私有仓库

sudo docker push localhost:5000/ubuntu:latest

从私有仓库拉取镜像

sudo docker pull localhost:5000/ubuntu:latest

通过以上步骤,你就成功地在Ubuntu上搭建了一个Docker私有仓库,并且可以安全地存储和管理你的Docker镜像。

0
看了该问题的人还看了