forked from TrueCloudLab/distribution
registry: use "console" for shell examples
This allows for easier copying of the commands, without selecting the prompt. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
85730e9d66
commit
ee8c75cbd1
3 changed files with 34 additions and 34 deletions
|
@ -20,7 +20,7 @@ If you have an air-gapped datacenter, see
|
||||||
|
|
||||||
Use a command like the following to start the registry container:
|
Use a command like the following to start the registry container:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
|
$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ as `my-ubuntu`, then pushes it to the local registry. Finally, the
|
||||||
|
|
||||||
1. Pull the `ubuntu:16.04` image from Docker Hub.
|
1. Pull the `ubuntu:16.04` image from Docker Hub.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker pull ubuntu:16.04
|
$ docker pull ubuntu:16.04
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -50,13 +50,13 @@ as `my-ubuntu`, then pushes it to the local registry. Finally, the
|
||||||
for the existing image. When the first part of the tag is a hostname and
|
for the existing image. When the first part of the tag is a hostname and
|
||||||
port, Docker interprets this as the location of a registry, when pushing.
|
port, Docker interprets this as the location of a registry, when pushing.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker tag ubuntu:16.04 localhost:5000/my-ubuntu
|
$ docker tag ubuntu:16.04 localhost:5000/my-ubuntu
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Push the image to the local registry running at `localhost:5000`:
|
3. Push the image to the local registry running at `localhost:5000`:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker push localhost:5000/my-ubuntu
|
$ docker push localhost:5000/my-ubuntu
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -64,14 +64,14 @@ as `my-ubuntu`, then pushes it to the local registry. Finally, the
|
||||||
images, so that you can test pulling the image from your registry. This
|
images, so that you can test pulling the image from your registry. This
|
||||||
does not remove the `localhost:5000/my-ubuntu` image from your registry.
|
does not remove the `localhost:5000/my-ubuntu` image from your registry.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker image remove ubuntu:16.04
|
$ docker image remove ubuntu:16.04
|
||||||
$ docker image remove localhost:5000/my-ubuntu
|
$ docker image remove localhost:5000/my-ubuntu
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Pull the `localhost:5000/my-ubuntu` image from your local registry.
|
5. Pull the `localhost:5000/my-ubuntu` image from your local registry.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker pull localhost:5000/my-ubuntu
|
$ docker pull localhost:5000/my-ubuntu
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -80,13 +80,13 @@ as `my-ubuntu`, then pushes it to the local registry. Finally, the
|
||||||
To stop the registry, use the same `docker container stop` command as with any other
|
To stop the registry, use the same `docker container stop` command as with any other
|
||||||
container.
|
container.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker container stop registry
|
$ docker container stop registry
|
||||||
```
|
```
|
||||||
|
|
||||||
To remove the container, use `docker container rm`.
|
To remove the container, use `docker container rm`.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker container stop registry && docker container rm -v registry
|
$ docker container stop registry && docker container rm -v registry
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ should set it to restart automatically when Docker restarts or if it exits.
|
||||||
This example uses the `--restart always` flag to set a restart policy for the
|
This example uses the `--restart always` flag to set a restart policy for the
|
||||||
registry.
|
registry.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-p 5000:5000 \
|
-p 5000:5000 \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
|
@ -122,7 +122,7 @@ port settings. This example runs the registry on port 5001 and also names it
|
||||||
and the second part is the port within the container. Within the container, the
|
and the second part is the port within the container. Within the container, the
|
||||||
registry listens on port `5000` by default.
|
registry listens on port `5000` by default.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-p 5001:5000 \
|
-p 5001:5000 \
|
||||||
--name registry-test \
|
--name registry-test \
|
||||||
|
@ -133,7 +133,7 @@ If you want to change the port the registry listens on within the container, you
|
||||||
can use the environment variable `REGISTRY_HTTP_ADDR` to change it. This command
|
can use the environment variable `REGISTRY_HTTP_ADDR` to change it. This command
|
||||||
causes the registry to listen on port 5001 within the container:
|
causes the registry to listen on port 5001 within the container:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-e REGISTRY_HTTP_ADDR=0.0.0.0:5001 \
|
-e REGISTRY_HTTP_ADDR=0.0.0.0:5001 \
|
||||||
-p 5001:5001 \
|
-p 5001:5001 \
|
||||||
|
@ -154,7 +154,7 @@ is more dependent on the filesystem layout of the Docker host, but more performa
|
||||||
in many situations. The following example bind-mounts the host directory
|
in many situations. The following example bind-mounts the host directory
|
||||||
`/mnt/registry` into the registry container at `/var/lib/registry/`.
|
`/mnt/registry` into the registry container at `/var/lib/registry/`.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-p 5000:5000 \
|
-p 5000:5000 \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
|
@ -194,7 +194,7 @@ If you have been issued an _intermediate_ certificate instead, see
|
||||||
|
|
||||||
1. Create a `certs` directory.
|
1. Create a `certs` directory.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ mkdir -p certs
|
$ mkdir -p certs
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ If you have been issued an _intermediate_ certificate instead, see
|
||||||
|
|
||||||
2. Stop the registry if it is currently running.
|
2. Stop the registry if it is currently running.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker container stop registry
|
$ docker container stop registry
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ If you have been issued an _intermediate_ certificate instead, see
|
||||||
environment variables that tell the container where to find the `domain.crt`
|
environment variables that tell the container where to find the `domain.crt`
|
||||||
and `domain.key` file. The registry runs on port 443, the default HTTPS port.
|
and `domain.key` file. The registry runs on port 443, the default HTTPS port.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
--name registry \
|
--name registry \
|
||||||
|
@ -228,7 +228,7 @@ If you have been issued an _intermediate_ certificate instead, see
|
||||||
4. Docker clients can now pull from and push to your registry using its
|
4. Docker clients can now pull from and push to your registry using its
|
||||||
external address. The following commands demonstrate this:
|
external address. The following commands demonstrate this:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker pull ubuntu:16.04
|
$ docker pull ubuntu:16.04
|
||||||
$ docker tag ubuntu:16.04 myregistry.domain.com/my-ubuntu
|
$ docker tag ubuntu:16.04 myregistry.domain.com/my-ubuntu
|
||||||
$ docker push myregistry.domain.com/my-ubuntu
|
$ docker push myregistry.domain.com/my-ubuntu
|
||||||
|
@ -241,7 +241,7 @@ A certificate issuer may supply you with an *intermediate* certificate. In this
|
||||||
case, you must concatenate your certificate with the intermediate certificate to
|
case, you must concatenate your certificate with the intermediate certificate to
|
||||||
form a *certificate bundle*. You can do this using the `cat` command:
|
form a *certificate bundle*. You can do this using the `cat` command:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
cat domain.crt intermediate-certificates.pem > certs/domain.crt
|
cat domain.crt intermediate-certificates.pem > certs/domain.crt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ TLS certificates as in the previous examples.
|
||||||
|
|
||||||
First, save the TLS certificate and key as secrets:
|
First, save the TLS certificate and key as secrets:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker secret create domain.crt certs/domain.crt
|
$ docker secret create domain.crt certs/domain.crt
|
||||||
|
|
||||||
$ docker secret create domain.key certs/domain.key
|
$ docker secret create domain.key certs/domain.key
|
||||||
|
@ -301,7 +301,7 @@ Next, add a label to the node where you want to run the registry.
|
||||||
To get the node's name, use `docker node ls`. Substitute your node's name for
|
To get the node's name, use `docker node ls`. Substitute your node's name for
|
||||||
`node1` below.
|
`node1` below.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker node update --label-add registry=true node1
|
$ docker node update --label-add registry=true node1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ running the following `docker service create` command.
|
||||||
|
|
||||||
By default, secrets are mounted into a service at `/run/secrets/<secret-name>`.
|
By default, secrets are mounted into a service at `/run/secrets/<secret-name>`.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker service create \
|
$ docker service create \
|
||||||
--name registry \
|
--name registry \
|
||||||
--secret domain.crt \
|
--secret domain.crt \
|
||||||
|
@ -405,7 +405,7 @@ secrets.
|
||||||
1. Create a password file with one entry for the user `testuser`, with password
|
1. Create a password file with one entry for the user `testuser`, with password
|
||||||
`testpassword`:
|
`testpassword`:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ mkdir auth
|
$ mkdir auth
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--entrypoint htpasswd \
|
--entrypoint htpasswd \
|
||||||
|
@ -420,13 +420,13 @@ secrets.
|
||||||
|
|
||||||
2. Stop the registry.
|
2. Stop the registry.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker container stop registry
|
$ docker container stop registry
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Start the registry with basic authentication.
|
3. Start the registry with basic authentication.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run -d \
|
$ docker run -d \
|
||||||
-p 5000:5000 \
|
-p 5000:5000 \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
|
@ -446,7 +446,7 @@ secrets.
|
||||||
|
|
||||||
5. Log in to the registry.
|
5. Log in to the registry.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker login myregistrydomain.com:5000
|
$ docker login myregistrydomain.com:5000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -505,7 +505,7 @@ directories.
|
||||||
Start your registry by issuing the following command in the directory containing
|
Start your registry by issuing the following command in the directory containing
|
||||||
the `docker-compose.yml` file:
|
the `docker-compose.yml` file:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker-compose up -d
|
$ docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ This is more secure than the insecure registry solution.
|
||||||
|
|
||||||
1. Generate your own certificate:
|
1. Generate your own certificate:
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ mkdir -p certs
|
$ mkdir -p certs
|
||||||
|
|
||||||
$ openssl req \
|
$ openssl req \
|
||||||
|
@ -130,21 +130,21 @@ certificate at the OS level.
|
||||||
|
|
||||||
#### Ubuntu
|
#### Ubuntu
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ cp certs/domain.crt /usr/local/share/ca-certificates/myregistrydomain.com.crt
|
$ cp certs/domain.crt /usr/local/share/ca-certificates/myregistrydomain.com.crt
|
||||||
update-ca-certificates
|
update-ca-certificates
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Red Hat Enterprise Linux
|
#### Red Hat Enterprise Linux
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
cp certs/domain.crt /etc/pki/ca-trust/source/anchors/myregistrydomain.com.crt
|
$ cp certs/domain.crt /etc/pki/ca-trust/source/anchors/myregistrydomain.com.crt
|
||||||
update-ca-trust
|
update-ca-trust
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Oracle Linux
|
#### Oracle Linux
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ update-ca-trust enable
|
$ update-ca-trust enable
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -80,8 +80,8 @@ Review the [requirements](index.md#requirements), then follow these steps.
|
||||||
|
|
||||||
1. Create the required directories
|
1. Create the required directories
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
mkdir -p auth data
|
$ mkdir -p auth data
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Create the main nginx configuration. Paste this code block into a new file called `auth/nginx.conf`:
|
2. Create the main nginx configuration. Paste this code block into a new file called `auth/nginx.conf`:
|
||||||
|
@ -154,7 +154,7 @@ Review the [requirements](index.md#requirements), then follow these steps.
|
||||||
|
|
||||||
3. Create a password file `auth/nginx.htpasswd` for "testuser" and "testpassword".
|
3. Create a password file `auth/nginx.htpasswd` for "testuser" and "testpassword".
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ docker run --rm --entrypoint htpasswd registry:2 -Bbn testuser testpassword > auth/nginx.htpasswd
|
$ docker run --rm --entrypoint htpasswd registry:2 -Bbn testuser testpassword > auth/nginx.htpasswd
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ Review the [requirements](index.md#requirements), then follow these steps.
|
||||||
|
|
||||||
4. Copy your certificate files to the `auth/` directory.
|
4. Copy your certificate files to the `auth/` directory.
|
||||||
|
|
||||||
```bash
|
```console
|
||||||
$ cp domain.crt auth
|
$ cp domain.crt auth
|
||||||
$ cp domain.key auth
|
$ cp domain.key auth
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue