一、下载镜像
docker pull sonatype/nexus3
二、启动镜像
创建数据卷目录
mkdir data
chmod 777 data
docker-compose.yaml
version: '3'
services:
nexus:
restart: always
image: sonatype/nexus3:latest
container_name: nexus
privileged: true
ports:
- '8081:8081'
- '8082:8082'
- '8083:8083'
- '8084:8084'
- '8085:8085'
volumes:
- ./data/:/nexus-data
启动
docker-compose up -d && docker logs -f nexus
三、访问服务
查看密码
cat data/admin.password
登录
修改密码
是否开启匿名访问
启用匿名访问将默认允许未经授权的下载,浏览和搜索存储库内容。可以通过编辑分配给匿名用户的角色来更改未经身份验证的用户的权限。
四、私服配置
maven
配置文件settings.xml
中 的servers
节点下配置 Nexus 私库的账号密码。
<server>
<id>maven-releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
五、上传依赖
创建仓库
选择maven2
点击创建
选择上传的仓库
点击上传
命令上传
# Window上传命令
mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=E:/Download/json-lib-2.4.jar -Durl=http://192.168.17.101:8081/repository/maven-releases/ -DrepositoryId=maven-releases
# Linux上传命令
mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=/home/qiang/software/maven/json-lib-2.4.jar -Durl=http://192.168.17.101:8081/repository/maven-releases/ -DrepositoryId=maven-releases
# 参数说明
-DgroupId:就相当于pom中的groupId
-DartifactId:就相当于pom中的artifactId
-Dversion:就相当于pom中的版本号version
-Dpackaging:就相当于pom中打包方式
-Dfile:本地依赖文件位置
-Durl:上传的url地址
-DrepositoryId:对应的是setting.xm里边的id
六、上传镜像
创建仓库
仓库参数
配置仓库地址
# 编辑配置文件
vim /etc/docker/daemon.json
---------------------------------------------------
{
"insecure-registries": ["192.168.17.101:8082" ]
}
---------------------------------------------------
# 重启docker服务
systemctl daemon-reload
systemctl restart docker
# 登录仓库
docker login -u admin -p 123456 192.168.17.101:8082
# 上传镜像
docker tag nginx:latest 192.168.17.101:8082/nginx:0.1
docker push 192.168.17.101:8082/nginx:0.1
# 拉取镜像
docker pull 192.168.17.101:8082/nginx:0.1
# 搜索镜像
docker search 192.168.17.101:8082/nginx
七、常见问题
7.1 连接超时
问题
org.apache.http.conn.ConnectTimeoutException: Connect to sonatype-download.global.ssl.fastly.net:443 [sonatype-download.global.ssl.fastly.net/31.13.73.17] failed: connect timed out
解决
重启Nexus