Linux/Docker/Registry
Appearance
Example docker-compose.yml
version: '3' services: registry: image: registry:2 ports: - "5000:5000" environment: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data volumes: - /srv/docker-data/registry:/data
docker-compose up -d
Put example image in registry
docker pull alpine docker tag alpine vm-docker:5000/my-alpine docker push vm-docker:5000/my-alpine
On testing client disable secure registry
- /etc/docker/daemon.json
{ "insecure-registries":["vm-docker:5000"] }
Load image from registry
docker pull vm-docker:5000/my-alpine test: docker run -it vm-docker:5000/my-alpine sh
Add authentication to registry server
sudo apt install apache2-utils mkdir /srv/docker-data/registry/auth cd /srv/docker-data/registry/auth htpasswd -Bc registry.password testusername
- docker-compose.yml
version: '3' services: registry: image: registry:2 ports: - "5000:5000" environment: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password volumes: - /srv/docker-data/registry:/data - /srv/docker-data/auth:/auth
- test
docker login vm-docker:5000
Pull-through caching for whole LAN
- on clients: /etc/docker/daemon.json:
{ "registry-mirrors": ["http://homeserver:5000"], "insecure-registries": [ "homeserver:5000" ] }