基於CentOS7+docker+Nexus官方鏡像搭建私有maven倉庫

docker安裝

更新包管理器

yum update

安裝必要依賴

yum install -y yum-utils device-mapper-persistent-data lvm2

設置穩定的倉庫

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

列出docker可用版本

yum list docker-ce --showduplicates | sort -r

安裝

yum install docker-ce-17.12.1.ce

查看docker

docker version

啓動docker

systemctl start docker

設置開機啓動

systemctl enable docker

配置阿里雲鏡像加速

echo -e '{\n\t"registry-mirrors": ["https://cr.console.aliyun.com/"]\n}' >  /etc/docker/daemon.json

重啓應用鏡像加速

sudo systemctl daemon-reload
sudo systemctl restart docker

nexus安裝

查找鏡像

docker search nexus

拉取鏡像

docker pull sonatype/nexus3

查看鏡像

docker images

創建nexus數據目錄並授權

mkdir -p /home/nexus/nexus-data
chown 200 /home/nexus/nexus-data

創建並啓動容器
將服務映射到了宿主機8088,將宿主機/home/nexus/nexus-data目錄映射到容器/nexus-data目錄

docker run -d -p 8088:8081 --name nexus --restart=always  -v /home/nexus/nexus-data:/nexus-data  sonatype/nexus3

查看容器

docker ps -a

如果容器成功啓動就可以進入nexus後臺了,訪問如下網址(替換ip)

http://ip:8088

登錄nexus
從3.17版本開始默認密碼不再是admin123,密碼是隨機生成。首次登錄頁面會顯示admin用戶的密碼在/nexus-data/admin.password,因爲我們在創建容器時做了目錄映射,所以進入宿主機查看密碼。

cat /home/nexus/nexus-data/admin.password

得到的字符串即爲密碼,用戶名爲admin

如果容器啓動失敗可以查看log

docker logs -f nexus

Nexus配置

這個暫時懶着整理了
關於登錄後的一系列操作可參閱幾篇博文
https://zhang.ge/5139.html
https://blog.csdn.net/vipbupafeng/article/details/80232566
https://blog.csdn.net/zn353010922/article/details/79441122
https://www.jianshu.com/p/77af52a75ad8

遇到的問題

容器時區不對

我在查看日誌時發現log裏邊打印的時間不對,這是因爲官方鏡像時區和我的時區不同
修改時區
以root用戶登錄docker容器

docker exec -it -u root <容器id> /bin/bash

如果是CentOS鏡像

ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

如果是Ubuntu鏡像(我是CentOS所以該方法沒驗)

echo "Asia/Shanghai" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

重啓log時間正常了

Outreach地址無法訪問

登錄後臺頁面之後報了一個錯誤如下:

*UNKNOWN com.sonatype.nexus.plugins.outreach.internal.outreach.SonatypeOutreach - Could not download page bundle
org.apache.http.conn.ConnectTimeoutException: Connect to sonatype-download.global.ssl.fastly.net:443 [sonatype-download.global.ssl.fastly.net/31.13.64.49] failed: connect timed out

報該錯誤的原因是nexus的歡迎頁面會從Sonatype重定向一些信息進行顯示,這個功能叫做Outreach,他的地址是國外的連不上。所以你會發現你的歡迎頁面是空蕩蕩的,什麼都沒有。爲了避免週期性的報錯,可以把Outreach禁用。
1.以管理員登錄
2.打開Administration -> System -> Capabilities。選擇 Outreach Management 功能。
3.點擊Disable按鈕。修改會立馬生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章