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。
3.配置realms(不配置此项无法进行login,pull,push)
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 push 你的ip:8082/redis:latest
6.去docker仓库看看
7.接下来把本地的原来打的tag的镜像文件各删除了,然后尝试从镜像仓库上拉取镜像
docker rmi 本地的镜像名字
拉取镜像:docker pull 之前你打的镜像文件的名字