在CentOS中搭建Docker私有倉庫可以通過以下步驟實現。我們將使用Docker自帶的registry
鏡像來創建一個私有的Docker倉庫。
首先,確保你的CentOS系統上已經安裝了Docker。如果沒有安裝,可以按照以下步驟進行安裝:
# 更新yum包索引
sudo yum update -y
# 安裝必要的包
sudo yum install -y yum-utils
# 設置Docker倉庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安裝Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 啟動Docker服務
sudo systemctl start docker
# 設置Docker開機自啟
sudo systemctl enable docker
接下來,從Docker Hub上拉取registry
鏡像:
sudo docker pull registry:2
使用以下命令運行一個Registry容器,并將其綁定到本地的5000端口:
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
這個命令會在后臺運行一個名為registry
的容器,并將容器的5000端口映射到主機的5000端口。
為了讓你的Docker客戶端能夠與私有倉庫通信,你需要配置Docker客戶端的認證信息。首先,創建一個用于存儲認證信息的目錄:
mkdir -p ~/.docker
然后,創建一個認證文件:
touch ~/.docker/config.json
編輯config.json
文件,添加私有倉庫的認證信息:
{
"auths": {
"your-private-registry": {
"username": "your-username",
"password": "your-password"
}
}
}
將your-private-registry
替換為你的私有倉庫地址(例如http://your-server-ip:5000
),并將your-username
和your-password
替換為你的用戶名和密碼。
現在,你可以將本地鏡像標記并推送到私有倉庫。首先,標記鏡像:
sudo docker tag your-image your-private-registry/your-image:tag
例如:
sudo docker tag my-app my-private-registry/my-app:latest
然后,推送鏡像到私有倉庫:
sudo docker push your-private-registry/your-image:tag
例如:
sudo docker push my-private-registry/my-app:latest
最后,你可以從私有倉庫拉取鏡像:
sudo docker pull your-private-registry/your-image:tag
例如:
sudo docker pull my-private-registry/my-app:latest
通過以上步驟,你就可以在CentOS中成功搭建一個Docker私有倉庫,并進行鏡像的推送和拉取操作。