写点什么

(VMware)ubuntu 环境下搭建 docker 镜像私服

用户头像
逸少
关注
发布于: 31 分钟前
(VMware)ubuntu 环境下搭建 docker 镜像私服

本文主要讲述如何在 win10 系统上,使用 vmware 安装 Ubuntu 虚拟机,并搭建 docker 镜像私服

docker 环境准备

读者可以按照笔者的另一篇文章 (VMware)ubuntu 环境下搭建 docker 环境 准备一台 docker 环境的虚拟机,并做如下的环境设置:IP:192.168.57.100 hostname:registry

镜像私服搭建

镜像拉取

执行下面的命令拉取最新的 registry 镜像

docker pull registry
复制代码

启动镜像仓库容器

执行下面的命令启动容器

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
复制代码

参数说明:

  • -dit:在容器中打开一个伪终端进行交互操作,并在后台运行

  • -v:宿主机(虚拟机)的/data/registry 目录挂载到容器/var/lib/registry 目录,此目录是镜像文件存储目录

  • -p:端口映射

  • --restart=always:重启的策略,容器异常退出后自动重启

  • --name docker-registry:容器命名为 docker-registry

  • registry:latest:镜像名称:版本

启动完成后可以通过 docker ps 命令查看是否启动成功,如下:

yishao@registry:~$ docker psCONTAINER ID   IMAGE             COMMAND                  CREATED        STATUS        PORTS                                       NAMESbf4cc758b841   registry:latest   "/entrypoint.sh /etc…"   12 hours ago   Up 12 hours   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry
复制代码

执行如下命令查看镜像库中的镜像,如下:

yishao@registry:~$ curl http://127.0.0.1:5000/v2/_catalog{"repositories":[]}
复制代码

上边的响应结果说明在 docker 私有仓库中还没有镜像。

验证

笔者是在另外一个 swarm 集群环境中验证镜像仓库的可用性的,swarm 环境的搭建读者可以参考(VMware)ubuntu 环境下搭建 Swarm+Stack 一站式部署容器集群


默认 docker registry 只允许 https 提交镜像,可以在 daemon.json 文件中增加 insecure-registries 配置来支持 http(如果是 swarm 集群,则需要将所有的节点都增加此配置),如下:

{  "registry-mirrors": ["https://9w2ypf5d.mirror.aliyuncs.com"],  "insecure-registries": ["192.168.57.100:5000"]}
复制代码


重启 docker,则可以通过 http 协议提交镜像

Push 镜像

  • 拉取最新的 nginx 镜像

docker pull nginx
复制代码
  • 标记此镜像为私有仓库的镜像

docker tag nginx:latest 192.168.57.100:5000/yishao/nginx:latest
复制代码
  • push 镜像到私服

docker push 192.168.57.100:5000/yishao/nginx:latest
复制代码

Pull 镜像

  • 删除本地的 nginx 镜像

docker rmi 192.168.57.100:5000/yishao/nginx:latestdocker rmi nginx:latest
复制代码
  • 从私服 pull 镜像

docker pull 192.168.57.100:5000/yishao/nginx:latest
复制代码


镜像仓库中查看镜像

回到镜像仓库虚拟机上,执行如下命令可以看到刚刚上面 push 成功的镜像

yishao@registry:~$ curl http://127.0.0.1:5000/v2/_catalog{"repositories":["yishao/nginx"]}
复制代码


参考:

(VMware)ubuntu 环境下搭建 docker 环境

(VMware)ubuntu 环境下搭建 Swarm+Stack 一站式部署容器集群

发布于: 31 分钟前阅读数: 2
用户头像

逸少

关注

逸少 2017.12.01 加入

一名不甘做咸鱼的码农; 人生没有太晚的开始,只有敢不敢全力前行;

评论

发布
暂无评论
(VMware)ubuntu 环境下搭建 docker 镜像私服