在Ubuntu上搭建Docker私有仓库可以通过以下步骤完成。我们将使用Docker Registry作为私有仓库的解决方案。
首先,确保你的Ubuntu系统是最新的。
sudo apt-get update
sudo apt-get upgrade
如果你还没有安装Docker,请先安装它。
sudo apt-get install docker.io
确保Docker服务正在运行并且开机自启。
sudo systemctl start docker
sudo systemctl enable docker
从Docker Hub拉取官方的Registry镜像。
docker pull registry:2
使用以下命令运行一个Registry容器。你可以将私有仓库绑定到主机的某个目录,以便持久化存储镜像。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
这个命令会在主机的5000端口上启动一个Registry容器,并且设置为开机自启。
为了让你的Docker客户端能够访问私有仓库,你需要配置Docker客户端以信任你的私有仓库。
创建或编辑/etc/docker/daemon.json
文件,添加以下内容:
{
"insecure-registries" : ["your-hostname:5000"]
}
将your-hostname
替换为你的主机名或IP地址。
然后重启Docker服务以应用更改:
sudo systemctl restart docker
假设你有一个本地的镜像my-image
,你可以将其标记并推送到私有仓库。
首先,标记镜像:
docker tag my-image your-hostname:5000/my-image
然后推送镜像:
docker push your-hostname:5000/my-image
现在你可以从私有仓库拉取镜像了。
docker pull your-hostname:5000/my-image
你可以通过以下命令查看私有仓库中的镜像:
curl -X GET http://your-hostname:5000/v2/_catalog
这将返回一个JSON对象,显示私有仓库中所有的仓库名称。
通过以上步骤,你就成功地在Ubuntu上搭建了一个Docker私有仓库,并且可以将镜像推送到私有仓库并从私有仓库拉取镜像。