Ceci est une ancienne révision du document !
Installer Docker compose :
apt install docker-compose
On va créer une Registry délivrée via un serveur nginx.
Création des répertoire requis :
mkdir -p /mnt/registry/{nginx,auth} cd registry/ mkdir -p nginx/{conf.d,ssl}
Aller dans :
cd nginx/conf.d/
Créer du fichier de configuration de la registry :
vim registry.conf
Insérer le contenu suivant :
upstream docker-registry { server registry:5000; } server { listen 80; server_name registry.local; return 301 https://registry.local$request_uri; } server { listen 443 ssl http2; server_name registry.local; ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/privkey.pem; # Log files for Debug error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; location / { # Do not allow connections from docker 1.5 and earlier # docker pre-1.6.0 did not properly set the user agent on ping, catch "Go *" user agents if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) { return 404; } proxy_pass http://docker-registry; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 900; } }
Créer un fichier Docker compose :
vim /mnt/registry/docker-compose.yml
Avec le contenu suivant :
version: '3' services: #Registry registry: image: registry:2 restart: always ports: - "5000:5000" environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry-Realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.passwd REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data volumes: - registrydata:/data - ./auth:/auth networks: - mynet #Nginx Service nginx: image: nginx:alpine container_name: nginx restart: unless-stopped tty: true ports: - "80:80" - "443:443" volumes: - ./nginx/conf.d/:/etc/nginx/conf.d/ - ./nginx/ssl/:/etc/nginx/ssl/ networks: - mynet #Docker Networks networks: mynet: driver: bridge #Volumes volumes: registrydata: driver: local
Quelques explications de la configuration :
registry:2
du Docker Hub.