redhat quay can be similarly carried out as docker hub constructed image, the following is a study, but found in testing process is through, but the
quay in for a bug on dockerfile content processing, resulting builder acquired content is empty, can not be mirror building
Preparing the Environment
- dockerc-compose
version: "3"
services:
postgres:
image: postgres:10
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
repeat:
Image: repeat
ports:
- "6379:6379"
privileged: true
quay-config:
image: dalongrong/quay:v3.1.2
command: config
env_file:
- .env
privileged: true
ports:
- "8443:8443"
quay-deploy:
image: dalongrong/quay:v3.1.2
env_file:
- .env
privileged: true
volumes:
- "./quay/config:/conf/stack:Z"
- "./quay/storage:/datastorage:Z"
ports:
- "443:8443"
- "8080:8080"
quay-builder:
image: dalongrong/quay-builder
environment:
- "SERVER=ws://quay-deploy:8787"
volumes:
- "/var/run/docker.sock:/mnt/docker.sock"
- Configuration section
can refer to the official documentation, or https://www.cnblogs.com/rongfengliang/p/11850908.html - Brief Description of the
operation need to configure the host file
127.0.0.1 quay-deploy
quay-builder Description
quay-builder is included websocket communication services and access to content and build BuildManager, needed for the operation docker engine
running when we can configure the server through environment variables
Run with
- Add constructed based on the content of dockerfile
- Select dockerfile
- Building effects
- Reasons for failure:
Builder Logs
quay-builder_1 | time="2019-11-13T12:54:07Z" level=info msg="decoded build args: rpc.BuildArgs{BuildPackage:\"http://quay-deploy:8080/userfiles/f873ae85-f9e2-4d10-a663-08921bae216d\", Context:\"/\", DockerfilePath:\"Dockerfile\", Repository:\"rong/dockerfile\", Registry:\"quay-deploy:8080\", PullToken:\"7MPM2WSQ1GXSMA3BNLNEF2M2MW7J205FQTP9N8IMQGB5UG57WSBW6YFWA6CNLH7U\", PushToken:\"7MPM2WSQ1GXSMA3BNLNEF2M2MW7J205FQTP9N8IMQGB5UG57WSBW6YFWA6CNLH7U\", TagNames:[]string{\"latest\"}, Git:(*rpc.BuildArgsGit)(nil), BaseImage:rpc.BuildArgsBaseImage{Username:\"\", Password:\"\"}}"
quay-builder_1 | time="2019-11-13T12:54:07Z" level=info msg="connecting to docker host: unix:///var/run/docker.sock"
From the above we can see that the need to request dockerfile content, but the content server returned an empty
The actual contents of the file directory
Explanation
These are integrated builder were docker mirrored building, but there are bug, the process is no problem, while at other times can not be integrated gitlab, the group acquired the following items (possibly gitlab version of the problem?)
Reference material
https://github.com/quay/quay
https://github.com/quay/quay-builder
https://access.redhat.com/documentation/en-us/red_hat_quay/3/html/use_red_hat_quay/build-support
https://hub.docker.com/repository/docker/dalongrong/quay-builder
https://hub.docker.com/repository/docker/dalongrong/quay