- page_title "Container Registry" %section .settings-header %h4 = page_title %p = s_('ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images.') %p.append-bottom-0 = succeed '.' do = s_('ContainerRegistry|Learn more about') = link_to _('Container Registry'), help_page_path('user/project/container_registry'), target: '_blank' .row.registry-placeholder.prepend-bottom-10 .col-lg-12 #js-vue-registry-images{ data: { endpoint: project_container_registry_index_path(@project, format: :json) } } = page_specific_javascript_bundle_tag('common_vue') = page_specific_javascript_bundle_tag('registry_list') .row.prepend-top-10 .col-lg-12 .panel.panel-default .panel-heading %h4.panel-title = s_('ContainerRegistry|How to use the Container Registry') .panel-body %p - link_token = link_to(_('personal access token'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'personal-access-tokens'), target: '_blank') - link_2fa = link_to(_('2FA enabled'), help_page_path('user/profile/account/two_factor_authentication'), target: '_blank') = s_('ContainerRegistry|First log in to GitLab’s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:').html_safe % { link_2fa: link_2fa, link_token: link_token } %pre docker login #{Gitlab.config.registry.host_port} %br %p = s_('ContainerRegistry|Once you log in, you’re free to create and upload a container image using the common %{build} and %{push} commands').html_safe % { build: "build".html_safe, push: "push".html_safe } %pre :plain docker build -t #{escape_once(@project.container_registry_url)} . docker push #{escape_once(@project.container_registry_url)} %hr %h5.prepend-top-default = s_('ContainerRegistry|Use different image names') %p.light = s_('ContainerRegistry|GitLab supports up to 3 levels of image names. The following examples of images are valid for your project:') %pre :plain #{escape_once(@project.container_registry_url)}:tag #{escape_once(@project.container_registry_url)}/optional-image-name:tag #{escape_once(@project.container_registry_url)}/optional-name/optional-image-name:tag