Saturday 4 June 2022

Configure a Docker Registry


#to override the root directory value by specifying a configuration variable from the environment using the -e argument

 sudo docker run -d -p 5000:5000 --restart=always --name registry -e \

> REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere registry:2

9f181a1ab8288e939cf4ba0d6ae3dce485633efc5c2e382320789ae4c68b6015


 sudo docker ps

CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                       NAMES

9f181a1ab828   registry:2   "/entrypoint.sh /etc…"   17 seconds ago   Up 16 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry


#Override the entire configuration file by creating a new file 

cat /etc/docker/config.yml

version: 0.1

log:

  fields:

    service: registry

storage:

  cache:

    blobdescriptor: inmemory

  filesystem:

    rootdirectory: /var/lib/registry

http:

  addr: :5000

  headers:

    X-Content-Type-Options: [nosniff]

auth:

  htpasswd:

    realm: basic-realm

    path: /etc/registry

health:

  storagedriver:

    enabled: true

    interval: 10s

    threshold: 3


#to run a registry container with a new config.yml 

 sudo docker run -d -p 8000:80 --restart=always --name registry2 \

>  -v `pwd`/config.yml:/etc/docker/config.yml \

>  registry:2

ba9e83c8eaf15ce48024ed7d18a6ad9879a4e154e4ed19165283948e84fdedbd


sudo docker ps

CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS          PORTS                                             NAMES

ba9e83c8eaf1   registry:2   "/entrypoint.sh /etc…"   28 seconds ago   Up 28 seconds   5000/tcp, 0.0.0.0:8000->80/tcp, :::8000->80/tcp   registry2

9f181a1ab828   registry:2   "/entrypoint.sh /etc…"   2 minutes ago    Up 2 minutes    0.0.0.0:5000->5000/tcp, :::5000->5000/tcp         registry


docs.docker.com/registry


No comments:

Post a Comment