docker-使用nexus作为私有镜像仓库

本文转载自:https://blog.51cto.com/daibaiyang119/2147894

                     https://my.oschina.net/weidedong/blog/1837155
参考集合了这2处,如有转载需要,请注明原出处!谢谢

以下内容经过本人验证

1创建一个目录,用于为Nexus3提供持久化存储。

# mkdir -p /usr/local/docker/data/nexus-data && chown -R 200 /usr/local/docker/data/nexus-data

2 通过sonatype/nexus3镜像启动nexus3的容器化应用了。通过如下命令启动的nexus将对外暴露8081端口,并容器的持久化数据通过会存储在上述创建的空间中。在容器运行后,用户可以通过http://{host_ip}:8081访问nexus3应用,其中{host_ip}为容器所部署的宿主机的IP地址。8082端口是暴露出来让docker客户端访问私有镜像仓库,上传docker镜像所使用。

docker run -d -p 8081:8081 -p 8082:8082 --restart=always --name nexus -v /usr/local/docker/data/nexus-data:/nexus-data sonatype/nexus3

3.在nexus部署成功后,在浏览器中通过http://{host_ip}:8081地址访问nexus应用,默认用户名密码为admin/admin123。

docker-使用nexus作为私有镜像仓库

docker-使用nexus作为私有镜像仓库

docker-使用nexus作为私有镜像仓库

docker-使用nexus作为私有镜像仓库

docker-使用nexus作为私有镜像仓库

3.配置realms(不配置此项无法进行login,pull,push)

docker-使用nexus作为私有镜像仓库

4.配置/etc/docker/daemon.json 由于不是https,所以要在daemon.json中配置一下

# vim /etc/docker/daemon.json
在文件中添加如下的内容,告诉客户端私有镜像仓库是一个安全的仓库:
{"insecure-registries":["你的ip:8082"]}

并重启docker服务

# 应用这个文件
systemctl daemon-reload
# 重启docker服务
systemctl restart docker

5.上传一个试试

docker pull redis 
docker tag redis 你的ip:8082/redis
docker login 你的ip:8082

docker-使用nexus作为私有镜像仓库

输入默认的用户名和密码登陆 即可
docker push 你的ip:8082/redis:latest

6.去docker仓库看看

docker-使用nexus作为私有镜像仓库

7.接下来把本地的原来打的tag的镜像文件各删除了,然后尝试从镜像仓库上拉取镜像

docker rmi 本地的镜像名字

拉取镜像:docker pull 之前你打的镜像文件的名字