docker安裝nexus


安裝nexus作為maven的私服,當然實際是可以不使用docker安裝的,本身二進制進行安裝也非常簡單

1. 查看 nexus 鏡像

sudo docker search nexus

docker官網:Docker Hub,可以搜索具體有哪些版本,安裝時可指定版本

 

2. 下載鏡像

我直接下載了看到的最新版本

sudo docker pull sonatype/nexus3:3.37.3

 

3. 查看已存在的鏡像

docker images

 

4. 新建用戶

使用一個專門的用戶作為docker內的執行用戶

下面是創建了一個 docker 用戶並加入 docker 組,我在創建 docker 用戶時發現已經存在了 docker 組,創建 docker 用戶必須要加入這個組才能創建(或者加入其他組?)

后面發現了個問題,在創建容器時指定這個用戶啟動過程會報錯權限不足,因此沒用了

 sudo adduser docker -g docker

 

 

5. 創建數據目錄

這個目錄保存着 nexus 的各種數據,當刪除容器、鏡像后,可以取出這個目錄打包,下一次安裝的 nexus 的數據目錄指向這個目錄,其內數據(下載的包、權限等)還可以使用

使用docker用戶執行

docker目錄是docker的用戶目錄

mkdir -p /home/docker/nexus/nexus-data

 

6. 創建 nexus 容器

【錯誤命令】這里有問題,指定用戶執行發現啟動總是報錯沒有權限,不知道是為啥,搞了半天不行,倒是發現了 docker 命令的執行,要么使用 root 用戶,要么這個用戶在 docker 組內,因此上面創建的 docker 用戶可以不用 sudo 執行 docker 命令

docker run \
-u 1001:995 \
-p 8081:8081 \
-v /home/docker/nexus/nexus-data:/var/nexus-data \
-v /etc/localtime:/etc/localtime:ro \
--name nexus3 \
--restart=always \
-d  sonatype/nexus3:3.37.3

# -u 指定啟動用戶
# -p 端口映射, 前者宿主機, 后者容器
# -v 本地目錄和 docker 容器內目錄的映射. 兩個一個是映射數據目錄, 一個映射時區文件. ro 只讀
# --name 指定創建后的容器名稱
# --restart=always docker 啟動/重啟時, 此容器默認跟着啟動
# -d 后台運行
# sonatype/nexus3:3.37.3 鏡像名稱 + tag

# 注意, -u 原來直接使用 docker 名稱來指定, 發現報錯, 需要使用 uid 指定, cat cat /etc/passwd 輸出的第二個冒號后的那個數字

創建后自動啟動了

 

這里是正確的,不指定用戶能啟動

docker run \
-p 8081:8081 \
-v /home/docker/nexus/nexus-data:/var/nexus-data \
-v /etc/localtime:/etc/localtime:ro \
--name nexus3 \
--restart=always \
-d  sonatype/nexus3:3.37.3

 

 

7. 查看啟動日志

docker logs 容器名稱/容器id

 

9. nexus的配置

192.168.33.100:8081 登錄

密碼需要登錄docker nexus

docker exec -it 容器id/容器名稱 /bin/bash
cat /opt/sonatype/sonatype-work/nexus3/admin.password

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM