简介
本文介绍了使用docker compose 搭建 docker私服
环境
Docker version 24.0.6, build ed223bc
Docker Compose version v2.21.0
正文
一、创建registry文件夹
我的路径是/usr/loca/docker/registry
二、创建并编写docker-compose.yml
version: "3.9"
services:
# 构建docker私服
registry:
restart: always
image: registry
container_name: registry
ports:
# 宿主机:容器
- 5000:5000
volumes:
- /usr/local/docker/registry/data:/var/lib/registry
# 构建webUI
frontend:
image: konradkleine/docker-registry-frontend:v2
ports:
- 9980:80
volumes:
- ./certs/frontend.crt:/etc/apache2/server.crt:ro
- ./certs/frontend.key:/etc/apache2/server.key:ro
environment:
- ENV_DOCKER_REGISTRY_HOST=你的服务器IP
- ENV_DOCKER_REGISTRY_PORT=5000
先校验docker-compose.yml,然后运行
可以看见,启动成功了
访问一下:http://ip:5000/v2
http://ip:9980
证明搭建完成了,下面做个测试,使用另一台服务器上传一个镜像到私服中
镜像上传测试
一、先在/etc/docker/路径下建立daemon.json文件,文件内容如下图
{
"insecure-registries": ["你服务器的IP:5000"]
}
然后执行命令 docker info,在末尾处看见添加了docker私服注册
下面以JDK镜像为例,将JDK镜像上传到我们刚刚搭建的私服(要确保你已经pull过jdk镜像)
先执行命令对镜像打包
docker tag openjdk:8-jre 1.93.10.222:5000/openjdk:8-jre
再执行推送命令
docker push 1.93.10.222:5000/openjdk:8-jre
可以看见推送成功了,我们去私服中查看是不是存在
可以看见私服中已经有了刚刚推送的JDK镜像