docker-compose的安装可以参考:
https://www.tnblog.net/aojiancc2/article/details/7679
docker-compose 介绍
如果涉及多个容器的运行(如服务编排)就可以通过 docker-compose 来实现,它可以轻松的将多个容器作为 service 来运行(当然也可仅运行其中的某个),并且提供了 scale (服务扩容) 的功能。方便多多个容器一键管理,比如微服务的项目发布,会涉及到很多个模块,如果一个一个容器去启动会很麻烦,使用docker-compose就可以很方便的一键启动n个服务。
就算是针对单个容器的更新也不用每次都去执行编译镜像,停止与删除容器,然后重新启动容器这样就有点麻烦了,如果用docker-compose一句话就可以操作了,这还是针对单个容器的,如果是多个容器管理起来比单个一个一个执行就方便太多了。
docker-compose 可以记录你启动容器时候的命令,方便随时修改。而且复杂一点的命令代码可读性也更高。容器之间的依赖关系,比较清晰,比一个一个的手动使用命令启动要清晰很多。其实主要就是方便后期的维护和管理。
拉取私有仓库docker-registry-ui镜像
docker pull joxit/docker-registry-ui:latest
给registry创建一个配置文件,主要是配置允许跨域
启动跨域后,私有仓库的ui框架才能顺利通过registry提供的接口拿到数据,不然会报跨域的错误。
当然也可以启动registry容器后,在进入容器里边进行跨域设置。
mkdir -p /etc/docker/registry
cat > /etc/docker/registry/config.yml <<EOF
version: 0.1
log:
accesslog:
disabled: true
level: debug
formatter: text
fields:
service: registry
environment: staging
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
Access-Control-Allow-Origin: ['http://192.168.6.226']
Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
Access-Control-Allow-Headers: ['Authorization', 'Accept']
Access-Control-Max-Age: [1728000]
Access-Control-Allow-Credentials: [true]
Access-Control-Expose-Headers: ['Docker-Content-Digest']
http2:
disabled: false
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
EOF
使用docker-compose同时启动这两个容器即可
cat > docker-compose.yaml <<EOF
version: '2.0'
services:
registry:
image: registry:2.8.1
ports:
- 5000:5000
volumes:
- /opt/registry:/var/lib/registry
- /etc/docker/registry/config.yml:/etc/docker/registry/config.yml
ui:
image: joxit/docker-registry-ui:latest
ports:
- 80:80
environment:
- REGISTRY_TITLE=My Private Docker Registry
- REGISTRY_URL= http://192.168.6.226:5000
- SINGLE_REGISTRY=true
depends_on:
- registry
EOF
docker-compose up -d
启动成功后,访问 http://192.168.6.226即可查看私有镜像仓库的ui。
停止docker-compose的启动
docker-compose down
打tag在上传一个镜像
打tag
docker tag registry 192.168.6.226:5000/registry:latest
上传镜像到私有仓库
docker push 192.168.6.226:5000/registry:latest
然后就可以看到刚刚上传的镜像了
简单视频教程
链接: https://pan.baidu.com/s/1QRXrbHbVa3h5ICtl8nvhEA?pwd=3itc 提取码: 3itc 复制这段内容后打开百度网盘手机App,操作更方便哦
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739