1. 安装运行Docker-Registry
docker run -d \ # 指定端口映射管理 -p 5000:5000 -v \ # 指定本地目录/root/lib/docker/registry/ 挂载到容器 /root/lib/docker/registry/:/var/lib/registry \ #指定镜像名称 registry # 查看运行状态 [root@node1 registry]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME Sa1092621c937 registry "/entrypoint.sh /etc…" 10 seconds ago Up 8 seconds 0.0.0.0:5000->5000/tcp compassionate_stonebraker #查看创建的私有仓库中存在的镜像 curl 0.0.0.0:5000/v2/_catalog {"repositories":[]} # 当前没有任何镜像
2. 上传镜像到私有仓库
# 创建一个镜像 # 新建目录 mkdir study-springboot-docker touch Dockerfile vi Dockerfile FROM openjdk:8u181 VOLUME /tmp ADD study-docker-0.0.1.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"] # study-docker-0.0.1.jar 是一个基于Springboot的一个hello world程序 # 构建镜像 docker build -t springboot-docker . # 查看构建好的镜像 [root@localhost springboot]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE springboot-docker latest cab36712a915 19 minutes ago 640MB # 标记镜像 docker tag springboot-docker 192.168.31.138:5000/springboot-docker:latest # 当前机器ip为192.168.31.138 # 上传镜像到私有仓库 docker push 192.168.31.138:5000/springboot-docker:latest Error response from daemon: Get https://192.168.31.138:5000/v2/: dial tcp 192.168.31.138:5000: connect: no route to host
报错:
Error response from daemon: Get https://192.168.31.138:5000/v2/: dial tcp 192.168.31.138:5000: connect: no route to host
Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制。
Ubuntu 14.04, Debian 7 Wheezy
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com --insecure-registries=192.168.31.138:5000"
Ubuntu 16.04+, Debian 8+, centos 7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存
在请新建该文件)
{ "registry-mirror": [ "https://registry.docker-cn.com" ], "insecure-registries": [ "192.168.31.138:5000" ] }
# 重启docker systemctl restart docker
# 再次push docker push 192.168.31.138:5000/springboot-docker:latest #查看创建的私有仓库中的镜像 curl 0.0.0.0:5000/v2/_catalog {"repositories":[springboot-docker]} # springboot-docker镜像已经成功上传
3. 拉取镜像
新开虚拟机,当前虚拟机ip为:192.168.31.137 与上面机器同属一个网段
[root@node1 docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE # 当前机器没有任何镜像 # 尝试拉去192.168.31.138私有仓库中的镜像springboot-docker [root@node1 docker]# docker pull 192.168.31.138:5000/springboot-docker:latest Error response from daemon: Get https://192.168.31.138:5000/v2/: dial tcp 192.168.31.138:5000: connect: no route to host
# 按照上述同样的方式进行处理 # 再次拉取 docker pull 192.168.31.138:5000/springboot-docker:latest latest: Pulling from springboot-docker 55cbf04beb70: Pull complete 1607093a898c: Pull complete 9a8ea045c926: Pull complete d4eee24d4dac: Pull complete c58988e753d7: Pull complete 794a04897db9: Pull complete 70fcfa476f73: Pull complete 806029475e0c: Pull complete 67959b355155: Pull complete 64aa22c5f389: Pull complete Digest: sha256:cedb5b62aff153b923594071205e63a565bb6d0d2de3ef2bb27bfa7e94e4d6ae Status: Downloaded newer image for 192.168.31.138:5000/springboot-docker:latest
查看镜像
docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.31.138:5000/springboot-docker latest cab36712a915 Less than a second ago 640MB
测试运行容器
docker run -d -p 80:8080 192.168.31.138:5000/springboot-docker # 访问测试 curl 127.0.0.1 hello spring boot docker!
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦