liyansring 2020-06-01
Nexus是用于Maven私服的,不过在官网上发现最新的Nexus 3.x还支持Docker仓库了,所以使用docker来搭建一下Nexus
查找镜像
docker search nexus
选取使用次数较多的镜像 拉取镜像
docker pull sonatype/nexus3
查看拉取的镜像
docker images
之前踩坑过多,因此在启动之前先做一些准备工作,如下:
创建要挂载映射容器的文件夹/opt/nexus-data,并将此文件的权限设置为777及用户和用户组设置为nexus,否则会启动失败,同学们姑且一试。如不挂载容器的/nexus-data文件夹,则可忽略此步骤。
mkdir -p /opt/nexus-data useradd -U nexus chown nexus:nexus -R /opt/nexus-data chomod 777 -R /opt/nexus-data
启动容器
docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 -v /opt/nexus-data:/nexus-data sonatype/nexus3
查看容器日志
docker logs nexus3
确保正常启动后 使用浏览器访问http://服务器ip:8081
点击右上角登录 账号密码:admin/admin123
登录后点击设置界面 选择Repositories,点击Create repository,如图所示
选择仓库类型 这里选择hosted类型 如图
配置仓库
该仓库指定一个唯一的名称、HTTP的端口、允许交互的API等
其他机器需要连接仓库才能进行push、pull等操作
连接仓库前需要进行配置 vim /etc/docker/daemon.json
{ "insecure-registries": ["172.16.77.71:8082" ] } systemctl daemon-reload systemctl restart docker
登录仓库
docker login -u admin -p admin123 172.16.77.71:8082 #注意这里的端口是配置仓库时选择的端口号
上传镜像
docker tag nginx:latest 172.16.77.71:8082/nginx:0.1 docker push 172.16.77.71:8082/nginx:0.1
拉取镜像
docker pull 172.16.77.71:8082/nginx:0.1
搜索镜像
[ torch]# docker search 172.16.77.71:8082/nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED 172.16.77.71:8082/nginx:0.1 0
到此,使用nexus搭建的docker私有仓库配置完毕。公司常用的镜像可以存放在私有仓库里 毕竟官方的dockerhub太慢