要在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 <image-name>:<tag> localhost:5000/<image-name>:<tag>
例如,如果你有一個名為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地址或域名。