Docker Registry镜像私服搭建 .............................................................................................. 1
1. Docker Registry概述 .................................................................................................... 2 2.镜像私服安装与测试 ..................................................................................................... 2
2.1. 安装 ....................................................................................................................... 2 2.2. 测试 ....................................................................................................................... 3 3. 镜像私服的使用 ............................................................................................................ 3
3.1. 修改docker配置文件 ...................................................................................... 3 3.2. 检查配置是否生效 ............................................................................................ 4 3.3. 测试镜像上传 ..................................................................................................... 4 3.4. 相关操作指令 ..................................................................................................... 5 4. 搭建私服镜像管理界面 .............................................................................................. 5
1. Docker Registry概述
官方的 Docker Hub 是一个用于管理公共镜像的地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要 Docker Registry,它可以用来存储和管理自己的镜像。
•
注:本文使用环境为Centos 7
2.镜像私服安装与测试
2.1. 安装
使用 docker-compose 来安装,编写docker-compose.yml配置如下:
version: '3.1' services: registry: image: registry restart: always container_name: registry ports: - 5000:5000 volumes: - /usr/local/docker/registry/data:/var/lib/registry 执行命令启动容器:
docker-compose up -d 2.2. 测试
启动成功后浏览器输入ip和端口进行访问:http://ip:5000/v2/,如下图所示,表示搭建成功。
image.png
3. 镜像私服的使用
3.1. 修改docker配置文件
修改配置文件/etc/docker/daemon.json ,增加如下内容(如果文件不存在请新建该文件)
\"insecure-registries\": [ \"ip:5000\" ] image.png
注意:该文件必须符合 json 规范,否则 Docker 将不能启动。 之后重新启动服务。
systemctl restart docker 3.2. 检查配置是否生效
使用 docker info 命令手动检查,如果从配置中看到如下内容,说明配置成功。
image.png
3.3. 测试镜像上传
我们以 Nginx 为例测试镜像上传功能
## 拉取一个镜像 docker pull nginx ## 查看全部镜像 docker images ## 标记本地镜像并指向目标仓库(ip:port/image_name:tag,该格式为标记版本号) docker tag nginx 192.168.25.132:5000/nginx ## 提交镜像到仓库 docker push 192.168.25.132:5000/nginx 3.4. 相关操作指令
# 查看全部镜像 curl -XGET http://192.168.75.133:5000/v2/_catalog # 查看指定镜像 curl -XGET http://192.168.75.133:5000/v2/nginx/tags/list # 拉取镜像 docker pull 192.168.75.133:5000/nginx 4. 搭建私服镜像管理界面
私服安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。然而不太方便的地方是不能直观的查看 registry 中的资源情况。可以使用 UI 工具管理镜像,这里采用 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.25.132 - ENV_DOCKER_REGISTRY_PORT=5000 注意:请将配置文件中的主机和端口换成自己仓库的地址 运行成功后在浏览器访问:http://ip:8080,如下所示,表示成功。
image.png
因篇幅问题不能全部显示,请点此查看更多更全内容