1 部署
参考Docker 环境下搭建nexus私服
# 移除已有版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 配置仓库
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker-ce
sudo yum install docker-ce docker-ce-cli containerd.io -y
# 修改docker镜像存储位置
mkdir -p /appdata/lib/docker
# 修改,找到对应的内容,修改配置
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --data-root /appdata/lib/docker -H fd:// --containerd=/run/containerd/containerd.sock
# 将之前安装的docker目录复制过来
# 重启
systemctl daemon-reload
systemctl start docker
# docker卸载
sudo yum remove docker-ce docker-ce-cli containerd.io
mkdir -p /appdata/nexus/nexus-data
chmod 777 /appdata/nexus/nexus-data
docker run -p 8081:8081 --name nexus -v /appdata/nexus/nexus-data:/nexus-data sonatype/nexus3
将本地的jar发布到私服上
mvn deploy:deploy-file -DgroupId=com.dzmsoft -DartifactId=com.dzmsoft.framework.sms -Dversion=2.1.0 -Dpackaging=jar -Dfile=com.dzmsoft.framework.sms.jar -Durl=http://www.dzmsoft.com.cn:8081/repository/maven-releases -DrepositoryId=maven-releases
如果要关掉docker
systemctl stop docker
systemctl stop docker.socket
systemctl disable docker
2 全量同步
2.1 源服务器
rsync -avz /appdata/nexus/nexus-data/ root@10.101.12.21:/appdata/nexus/nexus-data/
执行docker inspect sonatype/nexus3,查看原服务器的nexus实际版本
这个版本可能下载不下来了,将镜像导出到本地
# 导出镜像
docker save -o nexus3.tar sonatype/nexus3
# 传文件到另外一个机器
scp nexus3.tar root@10.101.12.21:/appdata/nexus
2.2 目标服务器
# 导入镜像,这样就使用了相同的nexus版本
docker load -i nexus3.tar
因为是文件同步过来的,所以密码直沿用源目标服务器
# https://hub.docker.com/r/sonatype/nexus3/tags?page=3&page_size=&name=&ordering=
# 因为3.41.1是2年前的版本,已经下载不下来的。
# -d参数代表daemon模式,会在后台运行
docker run -d -p 8081:8081 --name nexus -v /appdata/nexus/nexus-data:/nexus-data sonatype/nexus3
当服务器重启的时候,nexus没有自动重启,可以调整启动策略
# 启动,unless-stopped:总是重启容器,除非容器被手动停止。
docker run -d --restart=unless-stopped -p 8081:8081 --name nexus -v /appdata/nexus/nexus-data:/nexus-data sonatype/nexus3
# 已经启动,更改策略
docker update --restart=unless-stopped 09d653c9eb09