Commit b71b0f48 authored by Sean Packham's avatar Sean Packham

Merge branch 'docs/private-registry-ee' into 'master'

Add more info about private Docker registry

See merge request !2049
parents 0663e081 0a0dcc8f
...@@ -140,17 +140,58 @@ that runner. ...@@ -140,17 +140,58 @@ that runner.
## Define an image from a private Docker registry ## Define an image from a private Docker registry
Starting with GitLab Runner 0.6.0, you are able to define images located to > **Notes:**
private registries that could also require authentication. - This feature requires GitLab Runner **1.8** or higher
- For GitLab Runner versions **>= 0.6, <1.8** there was a partial
All you have to do is be explicit on the image definition in `.gitlab-ci.yml`. support for using private registries, which required manual configuration
of credentials on runner's host. We recommend to upgrade your Runner to
```yaml at least version **1.8** if you want to use private registries.
image: my.registry.tld:5000/namespace/image:tag - If the repository is private you need to authenticate your GitLab Runner in the
``` registry. Learn more about how [GitLab Runner works in this case][runner-priv-reg].
In the example above, GitLab Runner will look at `my.registry.tld:5000` for the As an example, let's assume that you want to use the `registry.example.com/private/image:latest`
image `namespace/image:tag`. image which is private and requires you to login into a private container registry.
To configure access for `registry.example.com`, follow these steps:
1. Do a `docker login` on your computer:
```bash
docker login registry.example.com --username my_username --password my_password
```
1. Copy the content of `~/.docker/config.json`
1. Create a [secret variable] `DOCKER_AUTH_CONFIG` with the content of the
Docker configuration file as the value:
```json
{
"auths": {
"registry.example.com": {
"auth": "bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ="
}
}
}
```
1. Do a `docker logout` on your computer if you don't need access to the
registry from it:
```bash
docker logout registry.example.com
```
1. You can now use any private image from `registry.example.com` defined in
`image` and/or `services` in your [`.gitlab-ci.yml` file][yaml-priv-reg]:
```yaml
image: my.registry.tld:5000/namespace/image:tag
```
In the example above, GitLab Runner will look at `my.registry.tld:5000` for the
image `namespace/image:tag`.
You can add configuration for as many registries as you want, adding more
registries to the `"auths"` hash as described above.
If the repository is private you need to authenticate your GitLab Runner in the If the repository is private you need to authenticate your GitLab Runner in the
registry. Learn how to do that on registry. Learn how to do that on
...@@ -283,4 +324,5 @@ creation. ...@@ -283,4 +324,5 @@ creation.
[tutum/wordpress]: https://hub.docker.com/r/tutum/wordpress/ [tutum/wordpress]: https://hub.docker.com/r/tutum/wordpress/
[postgres-hub]: https://hub.docker.com/r/_/postgres/ [postgres-hub]: https://hub.docker.com/r/_/postgres/
[mysql-hub]: https://hub.docker.com/r/_/mysql/ [mysql-hub]: https://hub.docker.com/r/_/mysql/
[runner-priv-reg]: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/configuration/advanced-configuration.md#using-a-private-docker-registry [runner-priv-reg]: http://docs.gitlab.com/runner/configuration/advanced-configuration.html#using-a-private-container-registry
[secret variable]: ../variables/README.md#secret-variables
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment