私有仓库的搭建
dockerhub上提供了最简单的方法 获取他们的镜像直接拉起来就能用
#获取镜像
docker pull registry:2
# 运行
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
Registry 服务默认会将上传的镜像保存在容器的 /var/lib/registry,我们将主机的 /opt/registry 目录挂载到该目录,即可实现将镜像保存到主机的 /opt/registry 目录了。
docker-compose
version : '3.1'
services:
registry:
privileged: true
image: registry:2
restart: always
container_name: registry2023
ports:
- 5000:5000
volumes :
- /app/imageWarehouse:/var/lib/registry
frontend:
image: konradkleine/docker-registry-frontend:v2
ports:
- 8085: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.75.133 #本机ip
- ENV_DOCKER_REGISTRY_PORT=5000
其他服务器的配置
修改/etc/docker/daemon.json
{
"insecure-registries": ["192.168.23.139:5000"]
}
查找私有仓库存在的镜像
命令行
curl http://192.168.75.133/v2/_catalog
这个方法能够获取到 json 字符串 进行grep就行
网页界面(frontend实现的)
网页访问http://192.168.75.133:8085
其他东西
要上传的镜像名有要求
192.168.75.133:5000/mysql:lastest
一些相关命令
docker tag
docker save
docker pull
docker push
docker load -i