第一章 配置环境

5. Registry

官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到想要的镜像,也可以把自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那就需要 Docker Registry,它可以用来存储和管理自己的镜像。

5.1 安装 Docker Registry 私服

使用 docker-compose 来安装,配置如下:

version: '3.1'
services:
  registry:
    image: registry
    restart: always
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry/data:/var/lib/registry

5.2 测试 Docker Registry 私服

curl http://ip:5000/v2/

5.3 部署 Docker Registry WebUI

私服安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。然而,不太方便的地方是不能直观的查看 registry 中的资源情况。如果可以使用 UI 工具管理镜像就更好了。这里介绍两个 Docker Registry WebUI 工具。

两个工具的功能和界面都差不多,我们以 docker-registry-fontend 为例讲解
使用 docker-compose 来安装和运行,docker-compose.yml 配置如下:

version: '3.1'
services:
  frontend:
    image: konradkleine/docker-registry-frontend:v2
    ports:
      - 8080:80
    volumes:
      - ./certs/frontend.crt:/etc/apache2/server.crt:ro
      - ./certs/frontend.key:/etc/apache2/server.key:ro
    environment:
      - ENV_DOCKER_REGISTRY_HOST=192.168.8.128
      - ENV_DOCKER_REGISTRY_PORT=5000

注意:请将配置文件中的主机和端口换成自己仓库的地址

运行成功后在浏览器访问:http://192.168.8.128:5000

5.4 配置 Docker Registry 客户端

Ubuntu Server 16.04 LTS 版本,属于 systemd 系统,需要在 /etc/docker/daemon.json 中增加如下内容(如果文件不存在请新建该文件)。

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "ip:5000"
  ]
}

注意:该文件必须符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

Insecure Registries:
 192.168.8.129:5000
 127.0.0.0/8

5.5 测试 Docker Registry 客户端

## 拉取一个镜像
docker pull nginx

## 查看全部镜像
docker images

## 标记本地镜像并指向目标仓库(ip:port/image_name:tag,该格式为标记版本号)
docker tag nginx 192.168.8.129:5000/nginx

## 提交镜像到仓库
docker push 192.168.8.129:5000/nginx
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.Docker 1.1卸载旧版本 旧版本的 Docker 称为 docker 或者 docker-engine,...
    作雪飞阅读 144评论 0 0
  • 2.Docker Compose 2.1 安装 Linux 系统请使用二进制包的方法安装。在 Linux 上的也安...
    作雪飞阅读 292评论 0 0
  • 3. GitLab GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 G...
    作雪飞阅读 167评论 0 0
  • 4. Nexus Nexus 是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。2016 年 4...
    作雪飞阅读 73评论 0 0
  • 姓名:梁德宝 单位:宁波大发化纤有限公司 组名:乐观一组 期数:六项精进234期学员 日精进打卡第62天 【知~学...
    梁德宝阅读 112评论 0 0