温馨提示×

如何在Debian上搭建Docker私有仓库

小樊
46
2025-11-07 05:51:34
栏目: 智能运维

在Debian上搭建Docker私有仓库可以通过以下步骤完成。我们将使用Docker Registry来实现这一目标。

步骤1:安装Docker

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

sudo apt update
sudo apt install docker.io

步骤2:启动并启用Docker服务

确保Docker服务正在运行,并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker

步骤3:创建Docker Registry容器

我们将使用Docker Hub上的官方Registry镜像来创建私有仓库。运行以下命令来启动一个Registry容器:

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

这个命令会在后台运行一个名为registry的容器,并将主机的5000端口映射到容器的5000端口。

步骤4:配置Docker客户端以使用私有仓库

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

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

your-server-ip替换为你的服务器IP地址或主机名。保存文件后,重启Docker服务以应用更改:

sudo systemctl restart docker

步骤5:标记并推送镜像到私有仓库

现在你可以将本地镜像标记并推送到你的私有仓库。首先,标记镜像:

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

然后,推送镜像:

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

步骤6:从私有仓库拉取镜像

你可以从私有仓库拉取镜像,就像从Docker Hub拉取一样:

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

步骤7:保护你的私有仓库(可选)

为了提高安全性,你可以考虑使用TLS加密通信,并配置认证。以下是一个简单的示例:

  1. 生成TLS证书和密钥
sudo mkdir /etc/docker/registry/certs
sudo openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/docker/registry/certs/domain.key -x509 -days 365 -out /etc/docker/registry/certs/domain.crt

按照提示填写相关信息。

  1. 修改Registry容器的启动命令
sudo docker run -d -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /etc/docker/registry/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2
  1. 配置Docker客户端使用TLS

编辑/etc/docker/daemon.json文件,添加以下内容:

{
  "insecure-registries" : ["your-server-ip:5000"],
  "registry-mirrors" : ["https://your-server-ip:5000"]
}

然后重启Docker服务:

sudo systemctl restart docker

现在,你可以使用HTTPS协议访问你的私有仓库,并且通信是加密的。

通过以上步骤,你就可以在Debian上成功搭建一个Docker私有仓库。

0