From d6298a26367143a7ccbdbbd3961f7679780b6495 Mon Sep 17 00:00:00 2001 From: Evan Read Date: Thu, 25 Jul 2019 14:22:42 +0000 Subject: [PATCH] Update documentation for current state --- doc/user/project/container_registry.md | 69 ++++++++++---------- doc/user/project/img/container_registry.png | Bin 35202 -> 0 bytes 2 files changed, 35 insertions(+), 34 deletions(-) delete mode 100644 doc/user/project/img/container_registry.png diff --git a/doc/user/project/container_registry.md b/doc/user/project/container_registry.md index 9368c56004d..c9eb81b990c 100644 --- a/doc/user/project/container_registry.md +++ b/doc/user/project/container_registry.md @@ -1,13 +1,8 @@ # GitLab Container Registry -> **Notes:** -> > - [Introduced][ce-4040] in GitLab 8.8. > - Docker Registry manifest `v1` support was added in GitLab 8.9 to support Docker > versions earlier than 1.10. -> - This document is about the user guide. To learn how to enable GitLab Container -> Registry across your GitLab instance, visit the -> [administrator documentation](../../administration/container_registry.md). > - Starting from GitLab 8.12, if you have 2FA enabled in your account, you need > to pass a [personal access token][pat] instead of your password in order to > login to GitLab's Container Registry. @@ -16,28 +11,33 @@ With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images. +This document is the user guide. To learn how to enable GitLab Container +Registry across your GitLab instance, visit the +[administrator documentation](../../administration/container_registry.md). + You can read more about Docker Registry at . ## Enable the Container Registry for your project -NOTE: **Note:** -If you cannot find the Container Registry entry under your project's settings, -that means that it is not enabled in your GitLab instance. Ask your administrator -to enable it. +If you cannot find the **Packages > Container Registry** entry under your +project's sidebar, it is not enabled in your GitLab instance. Ask your +administrator to enable GitLab Container Registry following the +[administration documentation](../../administration/container_registry.md). -1. First, ask your system administrator to enable GitLab Container Registry - following the [administration documentation](../../administration/container_registry.md). - If you are using GitLab.com, this is enabled by default so you can start using - the Registry immediately. Currently there is a soft (10GB) size restriction for - registry on GitLab.com, as part of the [repository size limit](repository/index.md). -1. Go to your [project's General settings](settings/index.md#sharing-and-permissions) +If you are using GitLab.com, this is enabled by default so you can start using +the Registry immediately. Currently there is a soft (10GB) size restriction for +registry on GitLab.com, as part of the [repository size limit](repository/index.md). + +Once enabled for your GitLab instance, to enable Container Registry for your +project: + +1. Go to your project's **Settings > General** page. +1. Expand the **Visibility, project features, permissions** section and enable the **Container Registry** feature on your project. For new projects this might be enabled by default. For existing projects (prior GitLab 8.8), you will have to explicitly enable it. -1. Hit **Save changes** for the changes to take effect. You should now be able - to see the **Registry** link in the sidebar. - -![Container Registry](img/container_registry.png) +1. Press **Save changes** for the changes to take effect. You should now be able + to see the **Packages > Container Registry** link in the sidebar. ## Build and push images @@ -49,14 +49,14 @@ to enable it. > - To move or rename a repository with a container registry you will have to > delete all existing images. -If you visit the **Registry** link under your project's menu, you can see the -explicit instructions to login to the Container Registry using your GitLab -credentials. +If you visit the **Packages > Container Registry** link under your project's +menu, you can see the explicit instructions to login to the Container Registry +using your GitLab credentials. For example if the Registry's URL is `registry.example.com`, then you should be able to login with: -``` +```sh docker login registry.example.com ``` @@ -64,14 +64,14 @@ Building and publishing images should be a straightforward process. Just make sure that you are using the Registry URL with the namespace and project name that is hosted on GitLab: -``` +```sh docker build -t registry.example.com/group/project/image . docker push registry.example.com/group/project/image ``` Your image will be named after the following scheme: -``` +```text /// ``` @@ -79,7 +79,7 @@ GitLab supports up to three levels of image repository names. Following examples of image tags are valid: -``` +```text registry.example.com/group/project:some-tag registry.example.com/group/project/image:latest registry.example.com/group/project/my/image:rc1 @@ -90,7 +90,7 @@ registry.example.com/group/project/my/image:rc1 To download and run a container from images hosted in GitLab Container Registry, use `docker run`: -``` +```sh docker run [options] registry.example.com/group/project/image [arguments] ``` @@ -100,7 +100,7 @@ For more information on running Docker containers, visit the ## Control Container Registry from within GitLab GitLab offers a simple Container Registry management panel. Go to your project -and click **Registry** in the project menu. +and click **Packages > Container Registry** in the project menu. This view will show you all tags in your project and will easily allow you to delete them. @@ -173,9 +173,9 @@ curl localhost:5001/debug/vars A Docker connection error can occur when there are special characters in either the group, project or branch name. Special characters can include: -* Leading underscore -* Trailing hyphen/dash -* Double hyphen/dash +- Leading underscore +- Trailing hyphen/dash +- Double hyphen/dash To get around this, you can [change the group path](../group/index.md#changing-a-groups-path), [change the project path](../project/settings/index.md#renaming-a-repository) or chanage the branch @@ -183,7 +183,8 @@ name. ### Advanced Troubleshooting ->**NOTE:** The following section is only recommended for experts. +NOTE: **Note:** +The following section is only recommended for experts. Sometimes it's not obvious what is wrong, and you may need to dive deeper into the communication between the Docker client and the Registry to find out @@ -195,7 +196,7 @@ diagnose a problem with the S3 setup. A user attempted to enable an S3-backed Registry. The `docker login` step went fine. However, when pushing an image, the output showed: -``` +```text The push refers to a repository [s3-testing.myregistry.com:4567/root/docker-test/docker-image] dc5e59c14160: Pushing [==================================================>] 14.85 kB 03c20c1a019a: Pushing [==================================================>] 2.048 kB @@ -218,7 +219,7 @@ at the communication between the client and the Registry. The REST API between the Docker client and Registry is [described here](https://docs.docker.com/registry/spec/api/). Normally, one would just use Wireshark or tcpdump to capture the traffic and see where things went -wrong. However, since all communications between Docker clients and servers +wrong. However, since all communications between Docker clients and servers are done over HTTPS, it's a bit difficult to decrypt the traffic quickly even if you know the private key. What can we do instead? diff --git a/doc/user/project/img/container_registry.png b/doc/user/project/img/container_registry.png deleted file mode 100644 index abbaf8385385478d3965a96dc7ffe2bf6c7310d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35202 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 WJB5rSQAxLefAZ4GQjpgsAOAlGb|JI?