要在Ubuntu上使用Docker搭建私有仓库,你可以遵循以下步骤:
-
安装Docker: 如果你还没有在Ubuntu上安装Docker,可以使用以下命令安装:
sudo apt update sudo apt install docker.io
-
启动Docker服务: 安装完成后,确保Docker服务正在运行:
sudo systemctl start docker sudo systemctl enable docker
-
创建私有仓库容器: 使用
docker run
命令来创建一个私有仓库容器。这里我们使用官方的registry
镜像:docker run -d -p 5000:5000 --restart=always --name registry registry:2
这个命令会下载
registry
镜像(如果本地没有的话),然后运行一个名为registry
的容器,将容器的5000端口映射到主机的5000端口,并且设置容器在退出后自动重启。 -
配置Docker客户端: 为了让你的Docker客户端能够与私有仓库通信,你需要将私有仓库的地址添加到Docker的信任列表中。创建或编辑
/etc/docker/daemon.json
文件,添加私有仓库的信息:{ "insecure-registries" : ["localhost:5000"] }
如果你使用的是远程服务器作为私有仓库,将
localhost
替换为服务器的IP地址或域名。保存文件后,重启Docker服务以应用更改:
sudo systemctl restart docker
-
标记和推送镜像到私有仓库: 现在你可以将本地的镜像标记并推送到私有仓库了。首先,使用
docker tag
命令标记镜像:docker tag
: localhost:5000/ : 例如,如果你有一个名为
myapp
的镜像,标签为latest
,你可以这样标记它:docker tag myapp:latest localhost:5000/myapp:latest
然后,使用
docker push
命令将镜像推送到私有仓库:docker push localhost:5000/myapp:latest
-
从私有仓库拉取镜像: 当你需要从私有仓库拉取镜像时,可以使用
docker pull
命令:docker pull localhost:5000/myapp:latest
请注意,上面的步骤中使用了localhost
作为私有仓库的地址,这意味着私有仓库只能在本地访问。如果你想要让私有仓库可以从互联网访问,你需要将私有仓库部署在一台公网服务器上,并确保相应的端口(在这个例子中是5000端口)是开放的。同时,你需要更新daemon.json
中的insecure-registries
配置,使用服务器的公网IP地址或域名。