云服务器在ubuntu上搭建docker仓库
2025-09-03 09:10
在Ubuntu上搭建Docker仓库,你可以使用Docker Registry。以下是详细的步骤:
1. 安装Docker
首先,确保你的Ubuntu系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install docker.io
2. 创建Docker Registry容器
你可以使用Docker官方提供的registry
镜像来创建一个私有仓库。以下是具体步骤:
2.1 拉取Registry镜像
docker pull registry:2
2.2 运行Registry容器
运行一个Registry容器,并将其绑定到本地的5000端口:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
3. 配置Docker客户端
为了让你的Docker客户端能够访问这个私有仓库,你需要配置Docker客户端。可以通过编辑/etc/docker/daemon.json
文件来实现。
3.1 创建或编辑daemon.json文件
sudo nano /etc/docker/daemon.json
3.2 添加仓库地址
在文件中添加以下内容:
{
insecure-registries : [localhost:5000]
}
3.3 重启Docker服务
保存并退出编辑器后,重启Docker服务以应用更改:
sudo systemctl restart docker
4. 标记并推送镜像到私有仓库
现在你可以将本地镜像标记并推送到私有仓库。
4.1 标记镜像
假设你有一个名为my-image
的镜像,你可以将其标记为私有仓库中的镜像:
docker tag my-image localhost:5000/my-image:latest
4.2 推送镜像
将标记后的镜像推送到私有仓库:
docker push localhost:5000/my-image:latest
5. 从私有仓库拉取镜像
你可以从私有仓库拉取镜像到本地:
docker pull localhost:5000/my-image:latest
6. 安全性考虑
默认情况下,Registry容器是不安全的,因为它允许任何人访问。为了提高安全性,你可以使用TLS加密通信,并配置认证。
6.1 生成TLS证书
你可以使用openssl
生成自签名证书:
mkdir -p /certs
cd /certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt
按照提示输入相关信息。
6.2 配置Registry使用TLS
修改Registry容器的启动命令,添加TLS配置:
docker run -d -p 5000:5000 \
--restart=always \
--name registry \
-v /certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
6.3 配置Docker客户端使用TLS
编辑/etc/docker/daemon.json
文件,添加TLS配置:
{
insecure-registries : [localhost:5000],
registry-mirrors : [https://:5000]
}
重启Docker服务:
sudo systemctl restart docker
现在,你可以安全地使用TLS加密通信访问私有仓库。
通过以上步骤,你就可以在Ubuntu上成功搭建一个Docker仓库,并进行镜像的推送和拉取操作。