温馨提示×

CentOS Docker镜像仓库如何搭建

小樊
50
2025-10-21 18:50:21
栏目: 智能运维

搭建一个CentOS Docker镜像仓库可以通过多种方式实现,其中一种常见的方法是使用Docker Registry。以下是一个基本的步骤指南:

1. 安装Docker

首先,确保你的系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:

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

2. 创建Docker Registry容器

接下来,创建一个运行Docker Registry的容器。你可以使用官方的registry镜像来快速启动一个Registry服务。

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

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

3. 配置Docker客户端

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

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

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

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

sudo systemctl restart docker

4. 标记并推送镜像到私有Registry

现在,你可以将本地的CentOS镜像标记并推送到你的私有Registry。

首先,拉取一个CentOS镜像(如果还没有):

docker pull centos

然后,标记这个镜像:

docker tag centos your-server-ip:5000/centos

最后,推送这个镜像到你的私有Registry:

docker push your-server-ip:5000/centos

5. 从私有Registry拉取镜像

现在,你可以从你的私有Registry拉取这个镜像:

docker pull your-server-ip:5000/centos

6. 安全加固(可选)

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

  • 使用TLS加密:配置Docker Registry以使用TLS加密通信。
  • 认证和授权:使用基本认证或OAuth2进行用户认证和授权。
  • 防火墙和安全组:确保只有受信任的网络可以访问你的Registry端口。

使用TLS加密

  1. 生成TLS证书和密钥:
mkdir -p /etc/docker/registry/certs
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout /etc/docker/registry/certs/domain.key -out /etc/docker/registry/certs/domain.crt
  1. 修改Registry配置文件/etc/docker/registry/config.yml
version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    layerinfo: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  tls:
    certificate: /etc/docker/registry/certs/domain.crt
    key: /etc/docker/registry/certs/domain.key
  1. 重启Registry容器:
docker run -d -p 5000:5000 --restart=always --name registry -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml -v /etc/docker/registry/certs:/etc/docker/registry/certs registry:2

通过以上步骤,你就可以成功搭建一个CentOS Docker镜像仓库,并进行基本的镜像管理和分发。

0