Docker Registry 简介
Docker Hub 是 Docker 官方提供的一个管理公共镜像的镜像仓库,我们可以从上面拉取我们想要的镜像,也可以推送自己的镜像上去。但有时候,在无法访问互联网的情况下或者不希望将自己的镜像推送到公网上时,那么 Docker Registry (镜像私服)就可以用来存储管理自己的镜像。
安装 Docker Registry
- 创建
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
$ docker-compose up -d
- 访问:http://{ip}:5000/v2/
安装 Docker Registry UI
Docker Registry
安装成功之后,不太方便只管地查看仓库中的镜像,可以使用 Web UI
界面工具管理镜像,docker-registry-frontend
就是其中之一
- 创建
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={docker registy ip}
- ENV_DOCKER_REGISTRY_PORT={docker registy port}
上述文件需要自定义修改的配置
* `ENV_DOCKER_REGISTRY_HOST`:安装的 Docker Registry 访问 IP
* `ENV_DOCKER_REGISTRY_PORT`:安装的 Docker Registry 访问端口
* 启动 Docker Ccompose
$ docker-compose up -d
- 访问 http://{ip}:8080](http://{ip}:8080
- 首页
- 镜像列表页
- 首页
Linux 配置 Docker Registry
- 编辑
daemon.json
(如果不存在则新建)
$ vi /etc/docker/daemon.json
完整文件如下:
{
"registry-mirrors": [
"{镜像加速器地址}"
],
"insecure-registries": [
"{docker registry ip}:5000"
]
}
- 重启服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
- 检查配置是否生效
$ docker info
出现以下内容,说明配置成功
Insecure Registries:
{docker registry ip}:5000
127.0.0.0/8
测试推送镜像
- 从 Docker Hub 公网拉取一个镜像
$ docker pull tomcat
- 标记该镜像指向Docker Registry 私服仓库
$ docker tag tomcat {docker registry ip}:5000/tomcat
- 推送镜像到仓库
$ docker push {docker registry ip}:5000/tomcat
测试拉取镜像
- 删除从 Docker Hub 公网上拉取的镜像
$ docker image rm {docker registry ip}:5000/tomcat
- 从 Docker Registry 私服中拉取镜像
$ docker pull {docker registry ip}:5000/tomcat
END
- 文章作者:彭超
- 本文首发于个人博客:https://antoniopeng.com/2019/10/08/docker/%E4%BD%BF%E7%94%A8DockerCompose%E6%90%AD%E5%BB%BARegistry%E9%95%9C%E5%83%8F%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E5%8F%8A%E4%BD%BF%E7%94%A8%E9%85%8D%E7%BD%AE/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭超 | Blog!