温馨提示×

CentOS上Docker镜像仓库怎么搭建

小樊
41
2025-12-31 02:30:13
栏目: 智能运维

在CentOS上搭建Docker镜像仓库,可以使用Docker Registry。以下是详细的步骤:

1. 安装Docker

首先,确保你的CentOS系统上已经安装了Docker。如果没有安装,可以按照以下步骤进行安装:

sudo yum update -y
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

2. 创建Docker Registry容器

使用Docker命令行工具来创建一个Docker Registry容器。以下是一个基本的命令示例:

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

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

3. 配置Docker客户端

为了让本地的Docker客户端能够与自定义的Registry通信,你需要配置Docker客户端的daemon.json文件。创建或编辑/etc/docker/daemon.json文件,添加以下内容:

{
  "insecure-registries" : ["your-server-ip:5000"]
}

your-server-ip替换为你的服务器IP地址或主机名。

然后重启Docker服务以应用更改:

sudo systemctl restart docker

4. 标记并推送镜像到自定义Registry

假设你已经有一个本地镜像,你可以将其标记并推送到自定义的Registry。以下是一个示例:

sudo docker tag your-image-name:tag your-server-ip:5000/your-image-name:tag
sudo docker push your-server-ip:5000/your-image-name:tag

your-image-name:tag替换为你的镜像名称和标签。

5. 从自定义Registry拉取镜像

你可以从自定义的Registry拉取镜像,使用以下命令:

sudo docker pull your-server-ip:5000/your-image-name:tag

6. 安全加固(可选)

为了提高安全性,你可以考虑以下几点:

  • 使用TLS加密:配置Docker Registry使用TLS证书,以确保数据传输的安全性。
  • 身份验证:启用基本身份验证或其他身份验证机制,以防止未经授权的访问。

使用TLS加密

  1. 生成自签名证书或使用Let’s Encrypt等CA颁发的证书。
  2. 修改Docker Registry容器的启动命令,添加TLS相关的参数。

例如:

sudo docker run -d -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /path/to/tls:/certs \
  registry:2

然后在/path/to/tls目录下放置你的证书和密钥文件。

启用身份验证

  1. 创建一个用户认证文件,例如htpasswd
  2. 修改Docker Registry容器的启动命令,添加身份验证相关的参数。

例如:

sudo docker run -d -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /path/to/auth:/auth \
  registry:2

然后在/path/to/auth目录下放置你的htpasswd文件。

通过以上步骤,你就可以在CentOS上成功搭建一个Docker镜像仓库,并进行镜像的推送和拉取操作。

0