在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私有倉庫,并且可以將鏡像推送到私有倉庫并從私有倉庫拉取鏡像。