使用docker搭建nexus並配置docker私有倉庫
0.6912018.09.26 14:13:41字數 269閱讀 10059
搭建
Nexus是用於Maven私服的,不過在官網上發現最新的Nexus 3.x還支持Docker倉庫了,所以使用docker來搭建一下Nexus
查找鏡像
docker search nexus
選取使用次數較多是鏡像 拉取鏡像
docker pull sonatype/nexus3
查看拉取的鏡像
docker images
啓動容器
docker run -d --name nexus3 \
--restart=always \
-p 9911:8081 \
-p 5101:5101 \
-p 8083:8083 \
-p 8084:8084 \
-p 8085:8085 \
-v /opt/nexus-data:/nexus-data \
sonatype/nexus3
查看容器日誌
docker logs nexus3
登錄配置
確保正常啓動後 使用瀏覽器訪問http://服務器ip:8081
點擊右上角登錄 賬號密碼:admin/admin123
登錄後點擊設置界面 選擇Repositories,點擊Create repository,如圖所示
選擇倉庫類型 這裏選擇hosted類型 如圖
配置倉庫
該倉庫指定一個唯一的名稱、HTTP的端口、允許交互的API等
連接倉庫
其他機器需要連接倉庫才能進行push、pull等操作
連接倉庫前需要進行配置 vim /etc/docker/daemon.json
{
"insecure-registries": ["172.16.77.71:8082" ]
}
systemctl daemon-reload
systemctl restart docker
登錄倉庫
docker login -u admin -p admin123 172.16.77.71:8082 #注意這裏的端口是配置倉庫時選擇的端口號
上傳鏡像
docker tag nginx:latest 172.16.77.71:8082/nginx:0.1
docker push 172.16.77.71:8082/nginx:0.1
拉取鏡像
docker pull 172.16.77.71:8082/nginx:0.1
搜索鏡像
[root@k8s-77-40 torch]# docker search 172.16.77.71:8082/nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
172.16.77.71:8082/nginx:0.1 0
遇到 docker login 失敗的情況
Error response from daemon: login attempt to http://127.0.0.1:8082/v2/ failed with status: 401 Unauthorized
解決方案: 在Nexus Security-> Realms選項卡中啓用Docker Bearer Token Realm。
Enable the Docker Bearer Token Realm in Nexus Security->Realms Tab.
放入右邊保存