前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
?
1. 找鏡像:
docker search nexus
2. 拉取鏡像:(我已經拉取過,不選擇版本時,默認用最新的版本)
docker pull docker.io/sonatype/nexus3
?
3. 查看鏡像:
docker images
4.啟動容器:
docker run -tid -p 8081:8081 --privileged=true --name nexus3 -v $PWD/nexus-data:/var/nexus-data --restart=always docker.io/sonatype/nexus3
說明:
-tid? :創建守護式容器 。-p 8081:8081 :宿主機端口(對外訪問端口):容器映射端口。這2個端口可不一樣。瀏覽器訪問URL用前面個端口 。--privileged=true :容器訪問宿主機的多級目錄時可能會權限不足,故給 root 權限 。--name nexus3 :給容器取名,可任意設定。-v $PWD/nexus-data:/var/nexus-data :把容器中的 nexus-data 目錄掛載到宿主機當前路徑下的 nexus-data 下。方便以后查看相關數據。$PWD :取當前路徑。此處可以寫死為某個完整的確定的目錄。?掛載格式為:?-v? 宿主機目錄 :容器目錄?。? --restart=always :服務掛后,自動重啟 。docker.io/sonatype/nexus3 :鏡像名 。
查看容器:
docker ps -a
說明
-a : 查看所有容器,包括非運行中狀態的容器。?
SATUS 一欄提示了啟動后運行時長,證明容器運行成功。
也可從日志中查看容器:
docker logs -f nexus3
?說明
-f? :實時更新日志。
nexus3 :? 容器名。
?啟動成功的日志:
?
5. 瀏覽器訪問:
訪問格式為 IP:端口(我的服務器 ip 已經綁定域名,可以直接用域名訪問。)
首頁加載不算快:
6. 右上角可以登陸。
至此 安裝、運行已經 OK 了。
7. jar 包上傳到私服。
配置maven 的 setting.xml 文件:
配置 項目中 pom.xml 文件:
執行命令:mvn? clean? deploy -Dmaven.test.skip=true? 推送 jar 到私服:
?
PS:關于? mvn? package、mvn install 、mvn deploy 的區別請見文章:簡述 maven 命令 package、install、deploy 的區別?
推送成功后就可以在私服中查看對應 jar 了:
?
PS:
遇到問題1:
在啟動容器時我原本想換個端口,但發現不用 8081 時,tcp 的端口映射也是自動設置為 8081 的。并且換了端口后,雖然能啟動容器成功,顯示為運行狀態,但是瀏覽器始終訪問不到服務,報錯:拒絕連接。最后還是使用了 8081 端口。
?
遇到問題2:
登陸時始終報錯,賬號或密碼不對,默認密碼并不是 admin123。
對此解決方法見文章: ( Docker 方式運行 Nexus3 登陸密碼不為 admin123 、重置登陸密碼)
?
遇到問題3:
容器內部的時間比服務器時間晚 8 小時。
解決方法:啟動容器時 加入參數:??-v /etc/localtime:/etc/localtime:ro 。ro:只讀。
完整啟動命令為:
docker run -tid -p 8081:8081 --privileged=true --name nexus3 -v $PWD/nexus-data:/var/nexus-data -v /etc/localtime:/etc/localtime:ro --restart=always docker.io/sonatype/nexus3
?
遇到問題4:
執行 mvn? deploy 命令報錯:
解決方法見文章:解決: Failed to execute ... maven-deploy-plugin... Return code is: 401, ReasonPhrase: Unauthorized.?