1 下载nexus镜像并运行
docker run -d --name nexus3 --restart=unless-stopped -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 sonatype/nexus3
--restart=unless-stopped
#docker环境意外关闭后容器自启动
2 在nexus 中建立docker仓库
- 浏览器输入 http://ip:8081
- 点击登录 username:admin password:admin123
- setting->repositories->Create Repositoris ->docker (hosted)-> name:自己填写 HTTP:8086
- Create repositorises
3 在服务器中设置 Insecure Registries
不同服务器设置方法不一样,本人环境为Amazon Linux AMI 2017.09 ,参考一些方法后无果,自己看文档说明就好了。
aws ec2:
vim /etc/sysconfig/docker
#加入以下代码 ,OPTIONS:有的机器配置项可能不是这个,看文档里eg。
OPTIONS="--insecure-registry 0.0.0.0/0"
#重启docker环境
service docker restart
#查看是否生效 Insecure Registries:是否新增一条 0.0.0.0/0
docker info
centOS 7
#在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:
{ "insecure-registries":["IP:8086"] }
#刷新docker守护进程
systemctl daemon-reload
#重启docker服务
systemctl restart docker
4 登录docker环境
docker login docker login ip:8086
Username: admin
Password: admin123
5 为镜像重新指定tag
docker提交镜像时会根据默认的tag所提交到对应的仓库, 默认的tag指向docker.hub 所以要修改自己镜像的tag。
docker tag helloword 服务器ip:8086/helloword:latest
6 推送镜像到自己的私服
docker push 服务器ip:8086/helloword