diff --git a/_vale/Docker/RecommendedWords.yml b/_vale/Docker/RecommendedWords.yml index ed308ac9b57b..2721e0881fb1 100644 --- a/_vale/Docker/RecommendedWords.yml +++ b/_vale/Docker/RecommendedWords.yml @@ -37,7 +37,6 @@ swap: keypress: keystroke mutices: mutexes repo: repository - scan: analyze scroll: navigate url: URL vs: versus diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index fd7f96051bba..b36f750cda00 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -142,7 +142,6 @@ mfsymlinks minikube musl nameserver -namespace npm osquery osxfs diff --git a/content/guides/jupyter.md b/content/guides/jupyter.md index 67ea349f21a8..3f78c73a7858 100644 --- a/content/guides/jupyter.md +++ b/content/guides/jupyter.md @@ -382,7 +382,7 @@ $ docker run --rm -p 8889:8888 YOUR-USER-NAME/my-jupyter-image start-notebook.py ### Share your volume -This example uses the Docker Desktop graphical user interface. Alternatively, in the command line interface you can [back up the volume](/engine/storage/volumes/#back-up-a-volume) and then [push it using the ORAS CLI](/manuals/docker-hub/oci-artifacts.md#push-a-volume). +This example uses the Docker Desktop graphical user interface. Alternatively, in the command line interface you can [back up the volume](/engine/storage/volumes/#back-up-a-volume) and then [push it using the ORAS CLI](/manuals/docker-hub/repos/manage/hub-images/oci-artifacts.md#push-a-volume). 1. Sign in to Docker Desktop. 2. In the Docker Dashboard, select **Volumes**. diff --git a/content/manuals/accounts/deactivate-user-account.md b/content/manuals/accounts/deactivate-user-account.md index f1ed2ff44c5c..d13991345f85 100644 --- a/content/manuals/accounts/deactivate-user-account.md +++ b/content/manuals/accounts/deactivate-user-account.md @@ -32,7 +32,7 @@ Before deactivating your Docker account, ensure that you meet the following requ - Download any images and tags you want to keep. Use `docker pull -a :`. -- Unlink your [GitHub and Bitbucket accounts](../docker-hub/builds/link-source.md#unlink-a-github-user-account). +- Unlink your [GitHub and Bitbucket accounts](../docker-hub/repos/manage/builds/link-source.md#unlink-a-github-user-account). ## Deactivate diff --git a/content/manuals/admin/deactivate-account.md b/content/manuals/admin/deactivate-account.md index 73f2b00d3e93..42193d2c0f63 100644 --- a/content/manuals/admin/deactivate-account.md +++ b/content/manuals/admin/deactivate-account.md @@ -25,7 +25,7 @@ Before deactivating an organization, complete the following: - Remove all other members within the organization. -- Unlink your [Github and Bitbucket accounts](../docker-hub/builds/link-source.md#unlink-a-github-user-account). +- Unlink your [Github and Bitbucket accounts](../docker-hub/repos/manage/builds/link-source.md#unlink-a-github-user-account). ## Deactivate diff --git a/content/manuals/desktop/previous-versions/edge-releases-mac.md b/content/manuals/desktop/previous-versions/edge-releases-mac.md index 610f9f44e307..60a9bccf7f5a 100644 --- a/content/manuals/desktop/previous-versions/edge-releases-mac.md +++ b/content/manuals/desktop/previous-versions/edge-releases-mac.md @@ -82,7 +82,7 @@ This release contains a Kubernetes upgrade. Note that your local Kubernetes clus ### New -- If you have enabled [Vulnerability Scanning](/docker-hub/vulnerability-scanning/) in Docker Hub, the scan results will now appear in Docker Desktop. +- If you have enabled [Vulnerability Scanning](/docker-hub/repos/manage/vulnerability-scanning/) in Docker Hub, the scan results will now appear in Docker Desktop. ### Upgrades diff --git a/content/manuals/desktop/previous-versions/edge-releases-windows.md b/content/manuals/desktop/previous-versions/edge-releases-windows.md index b29e0c4df169..ab7f67c78248 100644 --- a/content/manuals/desktop/previous-versions/edge-releases-windows.md +++ b/content/manuals/desktop/previous-versions/edge-releases-windows.md @@ -74,7 +74,7 @@ This release contains a Kubernetes upgrade. Note that your local Kubernetes clus ### New -- If you have enabled [Vulnerability Scanning](../../docker-hub/vulnerability-scanning.md) in Docker Hub, the scan results will now appear in Docker Desktop. +- If you have enabled [Vulnerability Scanning](../../docker-hub/repos/manage/vulnerability-scanning.md) in Docker Hub, the scan results will now appear in Docker Desktop. ### Upgrades diff --git a/content/manuals/desktop/troubleshoot-and-support/faqs/general.md b/content/manuals/desktop/troubleshoot-and-support/faqs/general.md index 4962c2807ac5..4f2e69edf7bd 100644 --- a/content/manuals/desktop/troubleshoot-and-support/faqs/general.md +++ b/content/manuals/desktop/troubleshoot-and-support/faqs/general.md @@ -22,7 +22,7 @@ This includes: - The resources in the [Learning Center](/manuals/desktop/use-desktop/_index.md) - Pulling or pushing an image to Docker Hub - [Image Access Management](/manuals/security/for-developers/access-tokens.md) -- [Static vulnerability scanning](/manuals/docker-hub/vulnerability-scanning.md) +- [Static vulnerability scanning](/manuals/docker-hub/repos/manage/vulnerability-scanning.md) - Viewing remote images in the Docker Dashboard - Setting up [Dev Environments](/manuals/desktop/features/dev-environments/_index.md) - Docker Build when using [BuildKit](/manuals/build/buildkit/_index.md#getting-started). diff --git a/content/manuals/desktop/use-desktop/volumes.md b/content/manuals/desktop/use-desktop/volumes.md index c137b8260643..57d56cebef0d 100644 --- a/content/manuals/desktop/use-desktop/volumes.md +++ b/content/manuals/desktop/use-desktop/volumes.md @@ -144,10 +144,7 @@ You can either [export a volume now](#export-a-volume-now) or [schedule a recurr - **Local image**: Select a local image to export the content to. Any existing data in the image will be replaced by the exported content. - **New image**: Specify a name for the new image. - - **Registry**: Specify a Docker Hub repository. Note that Docker Hub - repositories can be publicly accessible which means your data can be - publicly accessible. For more details, see - [Change a repository from public to private](/docker-hub/repos/#change-a-repository-from-public-to-private). + - **Registry**: Specify a Docker Hub repository. {{< /tab >}} {{< tab name="External cloud storage" >}} @@ -193,10 +190,7 @@ You can either [export a volume now](#export-a-volume-now) or [schedule a recurr - **Local image**: Select a local image to export the content to. Any existing data in the image will be replaced by the exported content. - **New image**: Specify a name for the new image. - - **Registry**: Specify a Docker Hub repository. Note that Docker Hub - repositories can be publicly accessible which means your data can be - publicly accessible. For more details, see - [Change a repository from public to private](/docker-hub/repos/#change-a-repository-from-public-to-private). + - **Registry**: Specify a Docker Hub repository. {{< /tab >}} {{< tab name="External cloud storage" >}} diff --git a/content/manuals/docker-hub/builds/images/index-report.png b/content/manuals/docker-hub/builds/images/index-report.png deleted file mode 100644 index 03b7c4a423b1..000000000000 Binary files a/content/manuals/docker-hub/builds/images/index-report.png and /dev/null differ diff --git a/content/manuals/docker-hub/images/index-tag.webp b/content/manuals/docker-hub/images/index-tag.webp deleted file mode 100644 index 078de74ae968..000000000000 Binary files a/content/manuals/docker-hub/images/index-tag.webp and /dev/null differ diff --git a/content/manuals/docker-hub/quickstart.md b/content/manuals/docker-hub/quickstart.md index 23deb626c9b4..91e3a37e374b 100644 --- a/content/manuals/docker-hub/quickstart.md +++ b/content/manuals/docker-hub/quickstart.md @@ -217,9 +217,6 @@ these options. ## Next steps -- Automatically build container images from code through - [builds](builds/_index.md). -- Use [webhooks](./webhooks.md) to cause an action in another service in - response to a push event in the repository. -- Manage [repository settings](./repos/_index.md) to set the default privacy for - your repositories. \ No newline at end of file +Add [repository information](./repos/manage/information.md) to help users find and use +your image. + diff --git a/content/manuals/docker-hub/release-notes.md b/content/manuals/docker-hub/release-notes.md index 4b307927e5b7..2f8c1e17c291 100644 --- a/content/manuals/docker-hub/release-notes.md +++ b/content/manuals/docker-hub/release-notes.md @@ -31,7 +31,7 @@ Take a look at the [Docker Public Roadmap](https://github.com/orgs/docker/projec ### New - - You can tag Docker Hub repositories with [categories](./repos/categories.md). + - You can tag Docker Hub repositories with [categories](./repos/manage/information.md#repository-categories). ## 2023-12-11 @@ -80,7 +80,7 @@ Take a look at the [Docker Public Roadmap](https://github.com/orgs/docker/projec ### New -- The new [autobuild feature](../docker-hub/builds/manage-builds.md#check-your-active-builds) lets you view your in-progress logs every 30 seconds instead of when the build is complete. +- The new [autobuild feature](../docker-hub/repos/manage/builds/manage-builds.md#check-your-active-builds) lets you view your in-progress logs every 30 seconds instead of when the build is complete. ## 2022-09-21 @@ -191,7 +191,7 @@ For more information about this feature and for instructions on how to use it, s ### New feature -The **Repositories** view now shows which images have gone stale because they haven't been pulled or pushed recently. For more information, see [repository tags](repos/access/_index.md#view-repository-tags). +The **Repositories** view now shows which images have gone stale because they haven't been pulled or pushed recently. For more information, see [repository tags](repos/manage/access/_index.md#view-repository-tags). ## 2020-10-07 diff --git a/content/manuals/docker-hub/repos/_index.md b/content/manuals/docker-hub/repos/_index.md index 868bbfb8974a..4bbc1d146063 100644 --- a/content/manuals/docker-hub/repos/_index.md +++ b/content/manuals/docker-hub/repos/_index.md @@ -1,88 +1,54 @@ --- description: Learn how to manage repositories on Docker Hub -keywords: Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, - webhooks, docs, documentation, manage, repos -title: Manage repositories +keywords: Docker Hub, Hub, repositories +title: Repositories weight: 20 aliases: - /engine/tutorials/dockerrepos/ +- /docker-hub/repos/ +- /docker-hub/repos/configure/ --- -## Manage default repository settings - -You can manage the default repository settings for your personal account in Docker Hub. Select the **Settings** icon, then select **Repository Settings**. - -![Repository settings menu](../images/docker-hub-repo-settings-menu.png) - -Here you can manage the following: - -- Default privacy: set the default repository privacy to either **Public** or **Private**. -- Linked accounts: for users with a Docker Pro, Team, or Business subscription, manage your source provider accounts to enable Automated Builds. -- Notifications: for users with a Docker Pro, Team, or Business subscription, manage how you receive notifications from autobuilds. - -## Change a repository from public to private - -1. Navigate to your repository. -2. Select the **Settings** tab. -3. Select **Make private**. -4. Enter the name of your repository to confirm. - -You get one free private repository with your Docker Hub user account (not -available for organizations you're a member of). If you need more private -repositories for your user account, upgrade your Docker Hub subscription from your [Billing Information](https://hub.docker.com/billing/plan) page. - -## Move images between repositories - -### Personal to personal - -When consolidating personal repositories, you can pull private images from the initial repository and push them into another repository owned by you. To avoid losing your private images, perform the following steps: - -1. Navigate to [Docker Hub](https://hub.docker.com) create a new Docker ID and select a personal subscription. -2. Using `docker login` from the CLI, sign in using your original Docker ID and pull your private images. -3. Tag your private images with your newly created Docker ID, for example: - - ```console - $ docker tag namespace1/docker101tutorial new_namespace/docker101tutorial - ``` -4. Using `docker login` from the CLI, sign in with your newly created Docker ID, and push your newly tagged private images to your new Docker ID namespace: - - ```console - $ docker push new_namespace/docker101tutorial - ``` - -The private images that existed in your previous account are now available in your new account. - -### Personal to an organization - -To avoid losing your private images, you can pull your private images from your personal account and push them to an organization that's owned by you. - -1. Navigate to [Docker Hub](https://hub.docker.com) and select **Organizations**. -2. Select the applicable organization and verify that your user account is a member of the organization. -3. Sign in to [Docker Hub](https://hub.docker.com) using your original Docker ID, and pull your images: - - ```console - $ docker pull namespace1/docker101tutorial - ``` -4. Tag your images with your new organization namespace: - - ```console - $ docker tag namespace1/docker101tutorial /docker101tutorial - ``` -5. Push your newly tagged images to your new org namespace: - - ```console - $ docker push new_org/docker101tutorial - ``` - -The private images that existed in your user account are now available for your organization. - -## Delete a repository - -> [!WARNING] -> -> Deleting a repository deletes all the images it contains and its build settings. This action can't be undone. - -1. Navigate to your repository. -2. Select the **Settings** tab. -3. Select **Delete repository**. -4. Enter the name of your repository to confirm. +A Docker Hub repository is a collection of container images, enabling you to +store, manage, and share Docker images publicly or privately. Each repository +serves as a dedicated space where you can store images associated with a +particular application, microservice, or project. Content in repositories is +organized by tags, which represent different versions of the same application, +allowing users to pull the right version when needed. + +In this section, learn how to: + +- [Create](./create.md) a repository. +- Manage a repository, including how to manage: + + - [Repository information](./manage/information.md): Add descriptions, + overviews, and categories to help users understand the purpose and usage of + your repository. Clear repository information aids discoverability and + usability. + + - [Access](./manage/access.md): Control who can access your repositories with + flexible options. Make repositories public or private, add collaborators, + and, for organizations, manage roles and teams to maintain security and + control. + + - [Images](./manage/hub-images/_index.md): Repositories support diverse + content types, including OCI artifacts, and allow version control through + tagging. Push new images and manage existing content across repositories + for flexibility. + + - [Image security insights](./manage/vulnerability-scanning.md): Utilize + continuous Docker Scout analysis and static vulnerability scanning to + detect, understand, and address security issues within container images. + + - [Webhooks](./manage/webhooks.md): Automate responses to repository events + like image pushes or updates by setting up webhooks, which can trigger + notifications or actions in external systems, streamlining workflows. + + - [Automated builds](./manage/builds/_index.md): Integrate with GitHub or + Bitbucket for automated builds. Every code change triggers an image + rebuild, supporting continuous integration and delivery. + +- [Delete](./delete.md) a repository. +- [Manage personal settings](./settings.md): For your account, you can set personal + settings for repositories, including default repository privacy and autobuild + notifications. \ No newline at end of file diff --git a/content/manuals/docker-hub/repos/access.md b/content/manuals/docker-hub/repos/access.md deleted file mode 100644 index 3cf92798e75e..000000000000 --- a/content/manuals/docker-hub/repos/access.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -description: Discover how to access repositories on Docker Hub -keywords: Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, - webhooks, docs, documentation, collaborators, viewing, searching, starring -title: Access repositories ---- - -Within your repository, you can give others access to push and pull to your repository, and you can assign permissions. You can also view your repository tags and the associated images. - -## Collaborators and their role - -A collaborator is someone you want to give access to a private repository. Once designated, they can `push` and `pull` to your repositories. They're not -allowed to perform any administrative tasks such as deleting the repository or changing its status from private to public. - -Only personal account repositories can use collaborators. You can add unlimited collaborators to public repositories, and [Docker Pro](../../subscription/core-subscription/details.md#docker-pro) accounts can add up to 1 collaborator on private repositories. Organization repositories can't use collaborators. Organization owners can control repository access with [member roles](../../security/for-admins/roles-and-permissions.md) and [teams](../../admin/organization/manage-a-team.md). - -You can choose collaborators and manage their access to a private -repository from that repository's **Settings** page. - -> [!NOTE] -> -> A collaborator can't add other collaborators. Only the owner of -> the repository has administrative access. - -You can also assign more granular collaborator rights ("Read", "Write", or -"Admin") on Docker Hub by using organizations and teams. For more information -see the [organizations documentation](../../admin/organization/orgs.md#create-an-organization). - -## View repository tags - -You can view the available tags and the size of the associated image. Go to the **Repositories** view and select a repository to see its tags. To view individual tags, select the **Tags** tab. - -To delete a tag, select the corresponding checkbox and select **Delete** from the **Action** drop-down list. - -> [!NOTE] -> -> Only a user with administrative access (owner or team member with Admin -> permission) over the repository can delete tags. - -You can select a tag's digest to access more details. - -Image sizes are the cumulative space taken up by the image and all its parent -images. This is also the disk space used by the contents of the `.tar` file -created when you `docker save` an image. - -An image is stale if there has been no push or pull activity for more than one month. A multi-architecture image is stale if all single-architecture images part of its manifest are stale. - -## Search for repositories - -You can search the [Docker Hub](https://hub.docker.com) registry through its -search interface or by using the command line interface. You can search by image name, username, or description: - -```console -$ docker search centos - -NAME DESCRIPTION STARS OFFICIAL AUTOMATED -centos The official build of CentOS. 1034 [OK] -ansible/centos7-ansible Ansible on Centos7 43 [OK] -tutum/centos Centos image with SSH access. For the root... 13 [OK] -... -``` - -In the previous example, you can see two example results, `centos` and `ansible/centos7-ansible`. - -The second result shows that it comes from the public repository of a user, -named `ansible/`, while the first result, `centos`, doesn't explicitly list a -repository which means that it comes from the top-level namespace for -[Docker Official Images](../../trusted-content/official-images/_index.md). -The `/` character separates a user's repository from the image name. - -Once you've found the image you want, you can download it with `docker pull `: - -```console -$ docker pull centos - -latest: Pulling from centos -6941bfcbbfca: Pull complete -41459f052977: Pull complete -fd44297e2ddb: Already exists -centos:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. -Digest: sha256:d601d3b928eb2954653c59e65862aabb31edefa868bd5148a41fa45004c12288 -Status: Downloaded newer image for centos:latest -``` - -You now have an image from which you can run containers. - -## Star repositories - -Stars are a way to show that you like a repository. They're also an easy way of bookmarking your favorites. diff --git a/content/manuals/docker-hub/repos/categories.md b/content/manuals/docker-hub/repos/categories.md deleted file mode 100644 index d72d73809759..000000000000 --- a/content/manuals/docker-hub/repos/categories.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Categories in Docker Hub -description: | - Categorizing your Docker Hub repositories makes it easier for users to - find your images based on its use cases and content. -keywords: hub, images, content, categories, explore, search ---- - -You can tag Docker Hub repositories with categories, representing the primary -intended use cases for your images. This lets users more easily find and -explore content for the problem domain that they're interested in. - -## Available categories - -The Docker Hub content team maintains a curated list of categories. -The available categories are: - -- **API Management**: Tools for creating, publishing, analyzing, and securing APIs. -- **Content Management System:** Software applications to create and manage digital content through templates, procedures, and standard formats. -- **Data Science:** Tools and software to support analyzing data and generating actionable insights. -- **Databases & Storage:** Systems for storing, retrieving, and managing data. -- **Languages & Frameworks:** Programming language runtimes and frameworks. -- **Integrations & Delivery:** Tools for Continuous Integration (CI) and Continuous Delivery (CD). -- **Internet of Things:** Tools supporting Internet of Things (IoT) applications. -- **Machine Learning & AI:** Tools and frameworks optimized for artificial intelligence and machine learning projects, such as pre-installed libraries and frameworks for data analysis, model training, and deployment. -- **Message Queues:** Message queuing systems optimized for reliable, scalable, and efficient message handling. -- **Monitoring & Observability:** Tools to track software and system performance through metrics, logs, and traces, as well as observability to explore the system’s state and diagnose issues. -- **Networking:** Repositories that support data exchange and connecting computers and other devices to share resources. -- **Operating Systems:** Software that manages all other programs on a computer and serves as an intermediary between users and the computer hardware, while overseeing applications and system resources. -- **Security:** Tools to protect a computer system or network from theft, unauthorized access, or damage to their hardware, software, or electronic data, as well as from service disruption. -- **Web Servers:** Software to serve web pages, HTML files, and other assets to users or other systems. -- **Web Analytics:** Tools to collect, measure, analyze, and report on web data and website visitor engagement. - -## Auto-generated categories - -> [!NOTE] -> -> Auto-generated categories only apply to Docker Verified Publishers and -> Docker-Sponsored Open Source program participants. - -For repositories that pre-date the Categories feature in Docker Hub, -categories have been automatically generated and applied, using OpenAI, based -on the repository title and description. - -As an owner of a repository that has been auto-categorized, you can manually -edit the categories if you think they're inaccurate. See [Manage categories for -a repository](#manage-categories-for-a-repository). - -The auto-generated categorization was a one-time effort to help seed categories -onto repositories created before the feature existed. Categories are not -assigned to new repositories automatically. - -## Manage categories for a repository - -You can tag a repository with up to three categories. - -To edit the categories of a repository: - -1. Go to the repository page on Docker Hub. -2. Select the pencil icon under the description field. -3. Select the categories you want to apply. -4. Select **Update** to save the changes. - - - -If you're missing a category, use the -[Give feedback link](https://docker.qualtrics.com/jfe/form/SV_03CrMyAkCWVylKu) -to let us know what categories you'd like to see. diff --git a/content/manuals/docker-hub/repos/create.md b/content/manuals/docker-hub/repos/create.md index 37795c493516..ae30c9582045 100644 --- a/content/manuals/docker-hub/repos/create.md +++ b/content/manuals/docker-hub/repos/create.md @@ -1,80 +1,60 @@ --- -description: Learn how to create repositories on Docker Hub -keywords: Docker, docker, trusted, registry, accounts, plans, Dockerfile, Docker Hub, - webhooks, docs, documentation, manage, repos -title: Create repositories +description: Learn how to create a repository on Docker Hub +keywords: Docker Hub, Hub, repositories, create +title: Create a repository +linkTitle: Create toc_max: 3 +weight: 20 aliases: -- /docker-hub/repos/configure/ +- /docker-hub/repos/create/ --- -Repositories let you share container images with your team, -customers, or the Docker community at large. - -A single Docker Hub repository can hold many Docker images which are stored as **tags**. You can push Docker images to Docker Hub with the [`docker push`](/reference/cli/docker/image/push/)command. - -## Create a repository - -1. Sign in to Docker Hub. +1. Sign in to [Docker Hub](https://hub.docker.com). 2. Select **Repositories**. -3. Near the top-right corner, select **Create Repository**. +3. Near the top-right corner, select **Create repository**. +4. Select a **Namespace**. -When creating a new repository: + You can choose to locate it under your own user account, or under any + organization where you are an owner or editor. -- You can choose to locate it under your own user account, or under any - [organization](../../admin/organization//orgs.md) where you are an [owner](../../admin/organization/manage-a-team.md#organization-owner) or [editor](../../security/for-admins/roles-and-permissions.md). -- The repository name needs to: +5. Specify the **Repository Name**. + + The repository name needs to: - Be unique - Have between 2 and 255 characters - - Only contain lowercase letters, numbers, hyphens (`-`), and underscores (`_`) - - > [!NOTE] - > - > You can't rename a Docker Hub repository once it's created. - -- The description can be up to 100 characters. It's used in the search results. -- If you're a Docker Verified Publisher (DVP) or Docker-Sponsored Open Source (DSOS) organization, you can also add a logo to a repository. The maximum size in pixels is 1000x1000. -- You can link a GitHub or Bitbucket account now, or choose to do it later in - the repository settings. -- You can set the repository's default visibility to public or private. - - > [!NOTE] - > - > For organizations creating a new repository, it's recommended you select **Private**. - -### Add a repository overview - -Once you have created a repository, add an overview to the **Repository overview** field. This describes what your image does and how to use it. - -Consider the following repository overview best practices. - -- Describe what the image is, the features it offers, and why it should be used. Can include examples of usage or the team behind the project. -- Explain how to get started with running a container using the image. You can include a minimal example of how to use the image in a Dockerfile. -- List the key image variants and tags to use them, as well as use cases for the variants. -- Link to documentation or support sites, communities, or mailing lists for additional resources. -- Provide contact information for the image maintainers. -- Include the license for the image and where to find more details if needed. + - Only contain lowercase letters, numbers, hyphens (`-`), and underscores + (`_`) -## Push a Docker container image to Docker Hub + > [!NOTE] + > + > You can't rename a Docker Hub repository once it's created. -Once you have created a repository, you can start using `docker push` to push -images. +6. Specify the **Short description**. -To push an image to Docker Hub, you must first name your local image using your -Docker ID and the repository name that you created. + The description can be up to 100 characters. It appears in search results. -If you want to add multiple images to a repository, add a specific `:` to them, for example `docs/base:testing`. If it's not specified, the tag defaults to `latest`. +7. Select the default visibility. -Name your local images using one of these methods: + - **Public**: The repository appears in Docker Hub search results and can be + pulled by everyone. + - **Private**: The repository doesn't appear in Docker Hub search results and + is only accessible to you and collaborators. In addition, if you selected + an organization's namespace, then the repository is accessible to those + with applicable roles or permissions. For more details, see [Roles and + permissions](../../security/for-admins/roles-and-permissions.md). -- When you build them, using `docker build -t /[:` -- By re-tagging the existing local image with `docker tag /[:]`. -- By using `docker commit /[:]` to commit changes. + > [!NOTE] + > + > For organizations creating a new repository, if you're unsure which + > visibility to choose, then Docker recommends that you select **Private**. -Then, you can push this image to the repository designated by its name or tag: +8. Select **Create**. -```console -$ docker push /: -``` +After the repository is created, the **General** page appears. You are now able to manage: -The image is then uploaded and available for use by your teammates and/or the community. +- [Repository information](./manage/information.md) +- [Access](./manage/access.md) +- [Images](./manage/hub-images/_index.md) +- [Automated builds](./manage/builds/_index.md) +- [Webhooks](./manage/webhooks.md) +- [Image security insights](./manage/vulnerability-scanning.md) diff --git a/content/manuals/docker-hub/repos/delete.md b/content/manuals/docker-hub/repos/delete.md new file mode 100644 index 000000000000..46e27c1ea2e9 --- /dev/null +++ b/content/manuals/docker-hub/repos/delete.md @@ -0,0 +1,27 @@ +--- +description: Learn how to delete a repository on Docker Hub +keywords: Docker Hub, Hub, repositories, delete +title: Delete a repository +linkTitle: Delete +toc_max: 3 +weight: 40 +--- + +> [!WARNING] +> +> Deleting a repository deletes all the images it contains and its build +> settings. This action can't be undone. + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Settings** tab. +5. Select **Delete repository**. +6. Enter the name of your repository to confirm. +7. Select **Delete Repository Forever**. \ No newline at end of file diff --git a/content/manuals/docker-hub/repos/manage/_index.md b/content/manuals/docker-hub/repos/manage/_index.md new file mode 100644 index 000000000000..4806e0afc2c8 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/_index.md @@ -0,0 +1,6 @@ +--- +build: + render: never +title: Manage +weight: 30 +--- diff --git a/content/manuals/docker-hub/repos/manage/access.md b/content/manuals/docker-hub/repos/manage/access.md new file mode 100644 index 000000000000..ed190257f327 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/access.md @@ -0,0 +1,134 @@ +--- +description: Discover how to manage access to repositories on Docker Hub. +keywords: Docker Hub, Hub, repository access, repository collaborators, repository privacy +title: Access management +LinkTItle: Access +weight: 50 +aliases: +- /docker-hub/repos/access/ +--- + +In this topic learn about the features available to manage access to your +repositories. This includes visibility, collaborators, roles, teams, and +organization access tokens. + +## Repository visibility + +The most basic repository access is controlled via the visibility. A +repository's visibility can be public or private. + +With public visibility, the repository appears in Docker Hub search results and +can be pulled by everyone. To manage push access to public personal +repositories, you can use collaborators. To manage push access to public +organization repositories, you can use roles, teams, or organization access +tokens. + +With private visibility, the repository doesn't appear in Docker Hub search +results and is only accessible to those with granted permission. To manage push +and pull access to private personal repositories, you can use collaborators. To +manage push and pull access to private organization repositories, you can use +roles, teams, or organization access tokens. + +### Change repository visibility + +When creating a repository in Docker Hub, you can set the repository visibility. +In addition, you can set the default repository visibility when a repository is +created in your personal repository settings. The following describes how to +change the visibility after the repository has been created. + +To change repository visibility: + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Settings** tab. +5. Under **Visibility settings**, select one of the following: + + - **Make public**: The repository appears in Docker Hub search results and can be + pulled by everyone. + - **Make private**: The repository doesn't appear in Docker Hub search results + and is only accessible to you and collaborators. In addition, if the + repository is in an organization's namespace, then the repository + is accessible to those with applicable roles or permissions. + +6. Type the repository's name to verify the change. +7. Select **Make public** or **Make private**. + +## Collaborators + +A collaborator is someone you want to give `push` and `pull` access to a +personal repository. Collaborators aren't able to perform any administrative +tasks such as deleting the repository or changing its visibility from private to +public. In addition, collaborators can't add other collaborators. + +Only personal repositories can use collaborators. You can add unlimited +collaborators to public repositories, and Docker Pro accounts can add up to 1 +collaborator on private repositories. + +Organization repositories can't use collaborators, but can use member roles, +teams, or organization access tokens to manage access. + +### Manage collaborators + +1. Sign in to [Docker Hub](https://hub.docker.com). + +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Collaborators** tab. + +5. Add or remove collaborators based on their Docker username. + +You can choose collaborators and manage their access to a private +repository from that repository's **Settings** page. + +## Organization roles + +Organizations can use roles for individuals, giving them different +permissions in the organization. For more details, see [Roles and +permissions](/manuals/security/for-admins/roles-and-permissions.md). + +## Organization teams + +Organizations can use teams. A team can be assigned fine-grained repository +access. + +### Configure team repository permissions + +You must create a team before you are able to configure repository permissions. +For more details, see [Create and manage a +team](/manuals/admin/organization/manage-a-team.md). + +To configure team repository permissions: + +1. Sign in to [Docker Hub](https://hub.docker.com). + +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Permissions** tab. + +5. Add, modify, or remove a team's repository permissions. + + - Add: Specify the **Team**, select the **Permission**, and then select **Add**. + - Modify: Specify the new permission next to the team. + - Remove: Select the **Remove permission** icon next to the team. + +## Organization access tokens (OATs) + +Organizations can use OATs. OATs let you assign fine-grained repository access +permissions to tokens. For more details, see [Organization access +tokens](/manuals/security/for-admins/access-tokens.md). diff --git a/content/manuals/docker-hub/builds/_index.md b/content/manuals/docker-hub/repos/manage/builds/_index.md similarity index 99% rename from content/manuals/docker-hub/builds/_index.md rename to content/manuals/docker-hub/repos/manage/builds/_index.md index 930e40c5435d..d95313288cb0 100644 --- a/content/manuals/docker-hub/builds/_index.md +++ b/content/manuals/docker-hub/repos/manage/builds/_index.md @@ -3,16 +3,17 @@ description: Set up Automated builds keywords: automated, build, images, Docker Hub title: Set up Automated Builds linkTitle: Automated builds -weight: 60 +weight: 90 aliases: - /docker-hub/builds/automated-build/ - /docker-hub/builds/classic/ +- /docker-hub/builds/ --- > [!NOTE] > > Automated builds require a -> [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Docker Pro, Team, or Business subscription. This page contains information on: - [Configuring Automated builds](#configure-automated-builds) diff --git a/content/manuals/docker-hub/builds/advanced.md b/content/manuals/docker-hub/repos/manage/builds/advanced.md similarity index 98% rename from content/manuals/docker-hub/builds/advanced.md rename to content/manuals/docker-hub/repos/manage/builds/advanced.md index 111a065da33b..1a4298ab0f07 100644 --- a/content/manuals/docker-hub/builds/advanced.md +++ b/content/manuals/docker-hub/repos/manage/builds/advanced.md @@ -2,12 +2,14 @@ description: Automated builds keywords: automated, build, images title: Advanced options for Autobuild and Autotest +aliases: +- /docker-hub/builds/advanced/ --- > [!NOTE] > > Automated builds require a -> [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Docker Pro, Team, or Business subscription. The following options allow you to customize your automated build and automated test processes. diff --git a/content/manuals/docker-hub/builds/automated-testing.md b/content/manuals/docker-hub/repos/manage/builds/automated-testing.md similarity index 96% rename from content/manuals/docker-hub/builds/automated-testing.md rename to content/manuals/docker-hub/repos/manage/builds/automated-testing.md index c22293b0467d..a2aed00f30b0 100644 --- a/content/manuals/docker-hub/builds/automated-testing.md +++ b/content/manuals/docker-hub/repos/manage/builds/automated-testing.md @@ -2,15 +2,17 @@ description: Automated tests keywords: Automated, testing, repository title: Automated repository tests +aliases: +- /docker-hub/builds/automated-testing/ --- > [!NOTE] > > Automated builds require a -> [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Docker Pro, Team, or Business subscription. Docker Hub can automatically test changes to your source code repositories -using containers. You can enable `Autotest` on [any Docker Hub repository](../repos/_index.md) +using containers. You can enable `Autotest` on any Docker Hub repository to run tests on each pull request to the source code repository to create a continuous integration testing service. diff --git a/content/manuals/docker-hub/builds/how-builds-work.md b/content/manuals/docker-hub/repos/manage/builds/how-builds-work.md similarity index 94% rename from content/manuals/docker-hub/builds/how-builds-work.md rename to content/manuals/docker-hub/repos/manage/builds/how-builds-work.md index 1ff6d690afd8..fc67d3683dc5 100644 --- a/content/manuals/docker-hub/builds/how-builds-work.md +++ b/content/manuals/docker-hub/repos/manage/builds/how-builds-work.md @@ -2,12 +2,14 @@ description: how automated builds work keywords: docker hub, automated builds title: How Automated builds work +aliases: +- /docker-hub/builds/how-builds-work/ --- > [!NOTE] > > Automated builds require a -> [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Docker Pro, Team, or Business subscription. Docker Hub can automatically build images from source code in an external repository and automatically push the built image to your Docker repositories. diff --git a/content/manuals/docker-hub/builds/images/authorize-builder.png b/content/manuals/docker-hub/repos/manage/builds/images/authorize-builder.png similarity index 100% rename from content/manuals/docker-hub/builds/images/authorize-builder.png rename to content/manuals/docker-hub/repos/manage/builds/images/authorize-builder.png diff --git a/content/manuals/docker-hub/builds/images/bitbucket-revoke.png b/content/manuals/docker-hub/repos/manage/builds/images/bitbucket-revoke.png similarity index 100% rename from content/manuals/docker-hub/builds/images/bitbucket-revoke.png rename to content/manuals/docker-hub/repos/manage/builds/images/bitbucket-revoke.png diff --git a/content/manuals/docker-hub/builds/images/build-cancelicon.png b/content/manuals/docker-hub/repos/manage/builds/images/build-cancelicon.png similarity index 100% rename from content/manuals/docker-hub/builds/images/build-cancelicon.png rename to content/manuals/docker-hub/repos/manage/builds/images/build-cancelicon.png diff --git a/content/manuals/docker-hub/images/docker-hub-repo-settings-menu.png b/content/manuals/docker-hub/repos/manage/builds/images/docker-hub-repo-settings-menu.png similarity index 100% rename from content/manuals/docker-hub/images/docker-hub-repo-settings-menu.png rename to content/manuals/docker-hub/repos/manage/builds/images/docker-hub-repo-settings-menu.png diff --git a/content/manuals/docker-hub/builds/images/index-active.png b/content/manuals/docker-hub/repos/manage/builds/images/index-active.png similarity index 100% rename from content/manuals/docker-hub/builds/images/index-active.png rename to content/manuals/docker-hub/repos/manage/builds/images/index-active.png diff --git a/content/manuals/docker-hub/builds/images/index-dashboard.png b/content/manuals/docker-hub/repos/manage/builds/images/index-dashboard.png similarity index 100% rename from content/manuals/docker-hub/builds/images/index-dashboard.png rename to content/manuals/docker-hub/repos/manage/builds/images/index-dashboard.png diff --git a/content/manuals/docker-hub/images/index-report.png b/content/manuals/docker-hub/repos/manage/builds/images/index-report.png similarity index 100% rename from content/manuals/docker-hub/images/index-report.png rename to content/manuals/docker-hub/repos/manage/builds/images/index-report.png diff --git a/content/manuals/docker-hub/builds/images/retry-build.png b/content/manuals/docker-hub/repos/manage/builds/images/retry-build.png similarity index 100% rename from content/manuals/docker-hub/builds/images/retry-build.png rename to content/manuals/docker-hub/repos/manage/builds/images/retry-build.png diff --git a/content/manuals/docker-hub/builds/link-source.md b/content/manuals/docker-hub/repos/manage/builds/link-source.md similarity index 96% rename from content/manuals/docker-hub/builds/link-source.md rename to content/manuals/docker-hub/repos/manage/builds/link-source.md index 6b5c77e6b432..3f8d48f3275d 100644 --- a/content/manuals/docker-hub/builds/link-source.md +++ b/content/manuals/docker-hub/repos/manage/builds/link-source.md @@ -6,11 +6,13 @@ title: Configure automated builds from GitHub and BitBucket aliases: - /docker-hub/github/ - /docker-hub/bitbucket/ +- /docker-hub/builds/link-source/ --- > [!NOTE] > -> Automated builds require a [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Automated builds require a Docker Pro, Team, or Business subscription. + To automate building and testing of your images, you link to your hosted source code service to Docker Hub so that it can access your source code @@ -25,7 +27,7 @@ If you are linking a source code provider to create autobuilds for a team, follo 2. Select the **Settings** icon in the top-right navigation, then select **Repository Settings**. - ![Repository settings menu](../images/docker-hub-repo-settings-menu.png) + ![Repository settings menu](./images/docker-hub-repo-settings-menu.png) 3. From the **Linked accounts** tab, select **Link provider** for the source provider you want to link. diff --git a/content/manuals/docker-hub/builds/manage-builds.md b/content/manuals/docker-hub/repos/manage/builds/manage-builds.md similarity index 92% rename from content/manuals/docker-hub/builds/manage-builds.md rename to content/manuals/docker-hub/repos/manage/builds/manage-builds.md index 020ee0ca0958..c199e918a6f8 100644 --- a/content/manuals/docker-hub/builds/manage-builds.md +++ b/content/manuals/docker-hub/repos/manage/builds/manage-builds.md @@ -2,11 +2,14 @@ title: Manage autobuilds description: How to manage autobuilds in Docker Hub keywords: autobuilds, automated, docker hub, registry +aliases: +- /docker-hub/builds/manage-builds/ --- > [!NOTE] > -> Automated builds require a [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Automated builds require a Docker Pro, Team, or Business subscription. + ## Cancel or retry a build @@ -35,7 +38,7 @@ repository and branch, or tag, the build logs, the build duration, creation time > > You can now view the progress of your builds every 30 seconds when you refresh the **Builds** page. With the in-progress build logs, you can debug your builds before they're finished. -![Build report](/docker-hub/images/index-report.png) +![Build report](./images/index-report.png) ## Disable an automated build diff --git a/content/manuals/docker-hub/builds/troubleshoot.md b/content/manuals/docker-hub/repos/manage/builds/troubleshoot.md similarity index 97% rename from content/manuals/docker-hub/builds/troubleshoot.md rename to content/manuals/docker-hub/repos/manage/builds/troubleshoot.md index fc49a26fd1e4..146e39e93c93 100644 --- a/content/manuals/docker-hub/builds/troubleshoot.md +++ b/content/manuals/docker-hub/repos/manage/builds/troubleshoot.md @@ -3,12 +3,14 @@ title: Troubleshoot your autobuilds description: How to troubleshoot Automated builds keywords: docker hub, troubleshoot, automated builds, autobuilds tags: [ Troubleshooting ] +aliases: +- /docker-hub/builds/troubleshoot/ --- > [!NOTE] > > Automated builds require a -> [Docker Pro, Team, or Business subscription](../../subscription/_index.md). +> Docker Pro, Team, or Business subscription. ## Failing builds diff --git a/content/manuals/docker-hub/repos/manage/hub-images/_index.md b/content/manuals/docker-hub/repos/manage/hub-images/_index.md new file mode 100644 index 000000000000..726eb7889254 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/hub-images/_index.md @@ -0,0 +1,31 @@ +--- +description: Learn how to manage images in Docker Hub repositories +keywords: Docker Hub, Hub, images, content +title: Image management +linkTitle: Images +weight: 60 +--- + +Docker Hub provides powerful features for managing and organizing your +repository content, ensuring that your images and artifacts are accessible, +version-controlled, and easy to share. This section covers key image management +tasks, including tagging, pushing images, transferring images between +repositories, and supported software artifacts. + +- [Tags](./tags.md): Tags help you version and organize different iterations of + your images within a single repository. This topic explains tagging and + provides guidance on how to create, view, and delete tags in Docker Hub. +- [Software artifacts](./oci-artifacts.md): Docker Hub supports OCI (Open + Container Initiative) artifacts, allowing you to store, manage, and distribute + a range of content beyond standard Docker images, including Helm charts, + vulnerability reports, and more. This section provides an overview of OCI + artifacts as well as some examples of pushing them to Docker Hub. +- [Push images to Hub](./push.md): Docker Hub enables you to push local images + to it, making them available for your team or the Docker community. Learn how + to configure your images and use the `docker push` command to upload them to + Docker Hub. +- [Move images between repositories](./move.md): Organizing content across + different repositories can help streamline collaboration and resource + management. This topic details how to move images from one Docker Hub + repository to another, whether for personal consolidation or to share images + with an organization. \ No newline at end of file diff --git a/content/manuals/docker-hub/images/oci-artifact.png b/content/manuals/docker-hub/repos/manage/hub-images/images/oci-artifact.png similarity index 100% rename from content/manuals/docker-hub/images/oci-artifact.png rename to content/manuals/docker-hub/repos/manage/hub-images/images/oci-artifact.png diff --git a/content/manuals/docker-hub/images/oci-helm-tagview.png b/content/manuals/docker-hub/repos/manage/hub-images/images/oci-helm-tagview.png similarity index 100% rename from content/manuals/docker-hub/images/oci-helm-tagview.png rename to content/manuals/docker-hub/repos/manage/hub-images/images/oci-helm-tagview.png diff --git a/content/manuals/docker-hub/images/oci-helm.png b/content/manuals/docker-hub/repos/manage/hub-images/images/oci-helm.png similarity index 100% rename from content/manuals/docker-hub/images/oci-helm.png rename to content/manuals/docker-hub/repos/manage/hub-images/images/oci-helm.png diff --git a/content/manuals/docker-hub/images/oci-volume.png b/content/manuals/docker-hub/repos/manage/hub-images/images/oci-volume.png similarity index 100% rename from content/manuals/docker-hub/images/oci-volume.png rename to content/manuals/docker-hub/repos/manage/hub-images/images/oci-volume.png diff --git a/content/manuals/docker-hub/repos/manage/hub-images/move.md b/content/manuals/docker-hub/repos/manage/hub-images/move.md new file mode 100644 index 000000000000..fc267f3a8e62 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/hub-images/move.md @@ -0,0 +1,63 @@ +--- +description: Discover how to move images between repositories. +keywords: Docker Hub, Hub, repository content, move +title: Move images between repositories +linkTitle: Move images +weight: 40 +--- + +Consolidating and organizing your Docker images across repositories can +streamline your workflows, whether you're managing personal projects or +contributing to an organization. This topic explains how to move images between +Docker Hub repositories, ensuring that your content remains accessible and +organized under the correct accounts or namespaces. + +## Personal to personal + +When consolidating personal repositories, you can pull private images from the initial repository and push them into another repository owned by you. To avoid losing your private images, perform the following steps: + +1. [Sign up](https://app.docker.com/signup) for a new Docker account with a personal subscription. +2. Sign in to [Docker](https://app.docker.com/login) using your original Docker account +3. Pull your images: + + ```console + $ docker pull namespace1/docker101tutorial + ``` + +4. Tag your private images with your newly created Docker username, for example: + + ```console + $ docker tag namespace1/docker101tutorial new_namespace/docker101tutorial + ``` +5. Using `docker login` from the CLI, sign in with your newly created Docker account, and push your newly tagged private images to your new Docker account namespace: + + ```console + $ docker push new_namespace/docker101tutorial + ``` + +The private images that existed in your previous account are now available in your new account. + +## Personal to an organization + +To avoid losing your private images, you can pull your private images from your +personal account and push them to an organization that's owned by you. + +1. Navigate to [Docker Hub](https://hub.docker.com) and select **Organizations**. +2. Select the applicable organization and verify that your user account is a member of the organization. +3. Sign in to [Docker Hub](https://hub.docker.com) using your original Docker account, and pull your images: + + ```console + $ docker pull namespace1/docker101tutorial + ``` +4. Tag your images with your new organization namespace: + + ```console + $ docker tag namespace1/docker101tutorial /docker101tutorial + ``` +5. Push your newly tagged images to your new org namespace: + + ```console + $ docker push new_org/docker101tutorial + ``` + +The private images that existed in your user account are now available for your organization. \ No newline at end of file diff --git a/content/manuals/docker-hub/oci-artifacts.md b/content/manuals/docker-hub/repos/manage/hub-images/oci-artifacts.md similarity index 91% rename from content/manuals/docker-hub/oci-artifacts.md rename to content/manuals/docker-hub/repos/manage/hub-images/oci-artifacts.md index 8688ac16874d..a6294aa9a262 100644 --- a/content/manuals/docker-hub/oci-artifacts.md +++ b/content/manuals/docker-hub/repos/manage/hub-images/oci-artifacts.md @@ -1,14 +1,16 @@ --- -title: OCI artifacts on Docker Hub -linkTitle: OCI artifacts -weight: 100 +title: Software artifacts on Docker Hub +linkTitle: Software artifacts +weight: 20 keywords: oci, artifacts, docker hub description: You can use Docker Hub to store software artifacts packaged as OCI artifacts. --- You can use Docker Hub to store any kind of software artifact, not just -container images. Docker Hub supports OCI artifacts by leveraging the config -property on the image manifest. +container images. A software artifact is any item produced during the software +development process that contributes to the creation, maintenance, or +understanding of the software. Docker Hub supports OCI artifacts by leveraging +the config property on the image manifest. ## What are OCI artifacts? @@ -77,7 +79,7 @@ Steps: Successfully packaged chart and saved it to: /Users/hubuser/demo-0.1.0.tgz ``` -3. Sign in to Docker Hub with Helm, using your Docker ID credentials. +3. Sign in to Docker Hub with Helm, using your Docker credentials. ```console $ helm registry login registry-1.docker.io -u hubuser diff --git a/content/manuals/docker-hub/repos/manage/hub-images/push.md b/content/manuals/docker-hub/repos/manage/hub-images/push.md new file mode 100644 index 000000000000..0c3b468ed44e --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/hub-images/push.md @@ -0,0 +1,44 @@ +--- +description: Learn how to add content to a repository on Docker Hub. +keywords: Docker Hub, Hub, repository content, push +title: Push images to a repository +linkTitle: Push images +weight: 30 +--- + +To add content to a repository on Docker Hub, you need to tag your Docker image +and then push it to your repository. This process lets you share your +images with others or use them in different environments. + +1. Tag your Docker image. + + The `docker tag` command assigns a tag to your Docker image, which includes + your Docker Hub namespace and the repository name. The general syntax is: + + ```console + $ docker tag [SOURCE_IMAGE[:TAG]] [NAMESPACE/REPOSITORY[:TAG]] + ``` + + Example: + + If your local image is called `my-app` and you want to tag it for the + repository `my-namespace/my-repo` with the tag `v1.0`, run: + + ```console + $ docker tag my-app my-namespace/my-repo:v1.0 + ``` + +2. Push the image to Docker Hub. + + Use the `docker push` command to upload your tagged image to the specified + repository on Docker Hub. + + Example: + + ```console + $ docker push my-app my-namespace/my-repo:v1.0 + ``` + + This command pushes the image tagged `v1.0` to the `my-namespace/my-repo` repository. + +3. Verify the image on Docker Hub. \ No newline at end of file diff --git a/content/manuals/docker-hub/repos/manage/hub-images/tags.md b/content/manuals/docker-hub/repos/manage/hub-images/tags.md new file mode 100644 index 000000000000..35db6a1866a8 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/hub-images/tags.md @@ -0,0 +1,70 @@ +--- +description: Discover how to manage repository tags on Docker Hub. +keywords: Docker Hub, Hub, repository content, tags +title: Tags on Docker Hub +linkTitle: Tags +weight: 10 +--- + +Tags let you manage multiple versions of images within a single Docker Hub +repository. By adding a specific `:` to each image, such as +`docs/base:testing`, you can organize and differentiate image versions for +various use cases. If no tag is specified, the image defaults to the `latest` +tag. + +## Tag a local image + +To tag a local image, use one of the following methods: + +- When you build an image, use `docker build -t /[:`. +- Re-tag an existing local image with `docker tag /[:]`. +- When you commit changes, use `docker commit /[:]`. + +Then, you can push this image to the repository designated by its name or tag: + +```console +$ docker push /: +``` + +The image is then uploaded and available for use in Docker Hub. + +## View repository tags + +You can view the available tags and the size of the associated image. + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Tags** tab. + +You can select a tag's digest to see more details. + +## Delete repository tags + +Only the repository owner or other team members with granted permissions can +delete tags. + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Tags** tab. + +5. Select the corresponding checkbox next to the tags to delete. + +6. Select **Delete**. + + A confirmation dialog appears. + +7. Select **Delete**. diff --git a/content/manuals/docker-hub/images/vuln-scan-details.png b/content/manuals/docker-hub/repos/manage/images/vuln-scan-details.png similarity index 100% rename from content/manuals/docker-hub/images/vuln-scan-details.png rename to content/manuals/docker-hub/repos/manage/images/vuln-scan-details.png diff --git a/content/manuals/docker-hub/images/vuln-scan-report.png b/content/manuals/docker-hub/repos/manage/images/vuln-scan-report.png similarity index 100% rename from content/manuals/docker-hub/images/vuln-scan-report.png rename to content/manuals/docker-hub/repos/manage/images/vuln-scan-report.png diff --git a/content/manuals/docker-hub/repos/manage/information.md b/content/manuals/docker-hub/repos/manage/information.md new file mode 100644 index 000000000000..a6da93c26d79 --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/information.md @@ -0,0 +1,187 @@ +--- +description: Learn how to describe and optimize your Docker Hub repositories for better discoverability. +keywords: Docker Hub, Hub, repository information, repository discoverability, best practices +title: Repository information +toc_max: 3 +weight: 40 +aliases: +- /docker-hub/repos/categories/ +--- + +Each repository can include a description, an overview, and categories to help +users understand its purpose and usage. Adding clear repository information +ensures that others can find your images and use them effectively. + +## Repository description + +The description appears in search results when using the `docker search` command +and in the search results on Docker Hub. + +Consider the following repository description best practices. + +- Summarize the purpose. Clearly state what the image does in a concise and + specific manner. Make it clear if it's for a particular application, tool, or + platform, or has a distinct use case. +- Highlight key features or benefits. Briefly mention the primary benefits or + unique features that differentiate the image. Examples include high + performance, ease of use, lightweight build, or compatibility with specific + frameworks or operating systems. +- Include relevant keywords. Use keywords that users may search for to increase + visibility, such as technology stacks, use cases, or environments. +- Keep it concise. The description can be a maximum of 100 characters. Aim to + stay within one or two sentences for the description to ensure it's easy to + read in search results. Users should quickly understand the image's value. +- Focus on the audience. Consider your target audience (developers, system + administrators, etc.) and write the description to address their needs + directly. + +Following these practices can help make the description more engaging and +effective in search results, driving more relevant traffic to your repository. + +### Add or update a repository description + +1. Sign in to [Docker Hub](https://hub.docker.com). + +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the pencil icon under the description field. + +5. Specify a description. + + The description can be up to 100 characters long. + +6. Select **Update**. + +## Repository overview + +An overview describes what your image does and how to run it. It displays in the +public view of your repository when the repository has at least one image. If +automated builds are enabled, the overview will be synced from the source code +repository's `README.md` file on each successful build. + +Consider the following repository overview best practices. + +- Describe what the image is, the features it offers, and why it should be used. + Can include examples of usage or the team behind the project. +- Explain how to get started with running a container using the image. You can + include a minimal example of how to use the image in a Dockerfile. +- List the key image variants and tags to use them, as well as use cases for the + variants. +- Link to documentation or support sites, communities, or mailing lists for + additional resources. +- Provide contact information for the image maintainers. +- Include the license for the image and where to find more details if needed. + +### Add or update a repository overview + +1. Sign in to [Docker Hub](https://hub.docker.com). + +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Under **Repository overview**, select **Edit** or **Add overview**. + + The **Write** and **Preview** tabs appear. + +5. Under **Write**, specify your repository overview. + + You can use basic Markdown and use the **Preview** tab to preview the formatting. + +6. Select **Update**. + +## Repository categories + +You can tag Docker Hub repositories with categories, representing the primary +intended use cases for your images. This lets users more easily find and +explore content for the problem domain that they're interested in. + +### Available categories + +The Docker Hub content team maintains a curated list of categories. +The available categories are: + +- **API Management**: Tools for creating, publishing, analyzing, and securing + APIs. +- **Content Management System:** Software applications to create and manage + digital content through templates, procedures, and standard formats. +- **Data Science:** Tools and software to support analyzing data and generating + actionable insights. +- **Databases & Storage:** Systems for storing, retrieving, and managing data. +- **Languages & Frameworks:** Programming language runtimes and frameworks. +- **Integrations & Delivery:** Tools for Continuous Integration (CI) and + Continuous Delivery (CD). +- **Internet of Things:** Tools supporting Internet of Things (IoT) + applications. +- **Machine Learning & AI:** Tools and frameworks optimized for artificial + intelligence and machine learning projects, such as pre-installed libraries + and frameworks for data analysis, model training, and deployment. +- **Message Queues:** Message queuing systems optimized for reliable, scalable, + and efficient message handling. +- **Monitoring & Observability:** Tools to track software and system performance + through metrics, logs, and traces, as well as observability to explore the + system’s state and diagnose issues. +- **Networking:** Repositories that support data exchange and connecting + computers and other devices to share resources. +- **Operating Systems:** Software that manages all other programs on a computer + and serves as an intermediary between users and the computer hardware, while + overseeing applications and system resources. +- **Security:** Tools to protect a computer system or network from theft, + unauthorized access, or damage to their hardware, software, or electronic + data, as well as from service disruption. +- **Web Servers:** Software to serve web pages, HTML files, and other assets to + users or other systems. +- **Web Analytics:** Tools to collect, measure, analyze, and report on web data + and website visitor engagement. + +### Auto-generated categories + +> [!NOTE] +> +> Auto-generated categories only apply to Docker Verified Publishers and +> Docker-Sponsored Open Source program participants. + +For repositories that pre-date the Categories feature in Docker Hub, +categories have been automatically generated and applied, using OpenAI, based +on the repository title and description. + +As an owner of a repository that has been auto-categorized, you can manually +edit the categories if you think they're inaccurate. See [Manage categories for +a repository](#manage-categories-for-a-repository). + +The auto-generated categorization was a one-time effort to help seed categories +onto repositories created before the feature existed. Categories are not +assigned to new repositories automatically. + +### Manage categories for a repository + +You can tag a repository with up to three categories. + +To edit the categories of a repository: + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the pencil icon under the description field. +5. Select the categories you want to apply. +6. Select **Update**. + +If you're missing a category, use the +[Give feedback link](https://docker.qualtrics.com/jfe/form/SV_03CrMyAkCWVylKu) +to let us know what categories you'd like to see. \ No newline at end of file diff --git a/content/manuals/docker-hub/vulnerability-scanning.md b/content/manuals/docker-hub/repos/manage/vulnerability-scanning.md similarity index 57% rename from content/manuals/docker-hub/vulnerability-scanning.md rename to content/manuals/docker-hub/repos/manage/vulnerability-scanning.md index 13faf26d0da7..e9d14d3c8921 100644 --- a/content/manuals/docker-hub/vulnerability-scanning.md +++ b/content/manuals/docker-hub/repos/manage/vulnerability-scanning.md @@ -1,22 +1,65 @@ --- -description: Static vulnerability scanning in Docker Hub +description: Learn about vulnerability scanning and Docker Scout image analysis in Docker Hub. keywords: scanning, vulnerabilities, Hub, static -title: Static vulnerability scanning +title: Image security insights weight: 70 +aliases: +- /docker-hub/vulnerability-scanning/ --- +Strengthen the security of your Docker images with Docker Hub's image security +insights. Docker Hub lets you perform either point-in-time static vulnerability +scanning or always up-to-date image analysis using Docker Scout. + +## Docker Scout image analysis + +After turning on Docker Scout image analysis, Docker Scout automatically +analyzes images in your Docker Hub repository. + +Image analysis extracts the Software Bill of Material (SBOM) and other image +metadata, and evaluates it against vulnerability data from security advisories. + +The following sections describe how to turn on or off Docker Scout image +analysis for a Docker Hub repository. For more details about the image analysis, +see [Docker Scout](/manuals/scout/_index.md). + +### Turn on Docker Scout image analysis + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Settings** tab. +5. Under **Image security insight settings**, select **Docker Scout image analysis**. +6. Select **Save**. + +### Turn off Docker Scout image analysis + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Settings** tab. +5. Under **Image security insight settings**, select **None**. +6. Select **Save**. + + +## Static vulnerability scanning + > [!NOTE] > -> This page describes the legacy static vulnerability scanning feature of -> Docker Hub. There's also [Docker Scout](../scout/_index.md), which provides -> more detailed and always up-to-date results, guided remediation steps for -> improving your security posture, and more. -> -> Docker Hub static scanning requires a [Docker Pro, Team, or Business -> subscription](../subscription/_index.md). - -Docker Hub static vulnerability scanning lets you automatically run a -point-in-time scan on your Docker images for vulnerabilities. +> Docker Hub static vulnerability scanning requires a Docker Pro, Team, or +> Business subscription. When you push an image to a Docker Hub repository after turning on static scanning, Docker Hub automatically scans the image to identify vulnerabilities. @@ -31,7 +74,7 @@ Scan results include: - A recommended fixed version, if available, to remediate the vulnerabilities discovered. -## Changes to static scanning in Docker Hub +### Changes to static scanning in Docker Hub From February 27th, 2023, Docker changed the technology that supports the Docker Hub static scanning feature. The static scanning is now powered natively @@ -47,72 +90,59 @@ There is no action required on your part. Scans continue to run as usual with no interruption or changes to pricing. Historical data continues to be available. -## Scan images with static vulnerability scanning +### Turn on static vulnerability scanning -Repository owners and administrators of a Docker Pro, Team, or a Business tier -enable and disable static vulnerability scanning. When scanning is active on a -repository, anyone with push access can trigger a scan by pushing an image to -Docker Hub. +Repository owners and administrators can enable static vulnerability scanning +on a repository. If you are a member of a Team or a Business subscription, +ensure the repository you would like to enable scanning on is part of the Team +or a Business tier. + +When scanning is active on a repository, anyone with push access can trigger a +scan by pushing an image to Docker Hub. -Additionally, repository owners in a Docker Pro subscription and team members in -a Team, or a Business subscription can view the detailed scan reports. +To enable static vulnerability scanning: > [!NOTE] > > Static vulnerability scanning supports scanning images which are of AMD64 > architecture, Linux OS, and are less than 10 GB in size. -### Turn on static vulnerability scanning +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. -Repository owners and administrators can enable static vulnerability scanning -on a repository. If you are a member of a Team or a Business subscription, -ensure the repository you would like to enable scanning on is part of the Team -or a Business tier. + A list of your repositories appears. -To enable static vulnerability scanning: +3. Select a repository. + + The **General** page for the repository appears. -1. Sign in to your [Docker Hub](https://hub.docker.com) account. -2. Select **Repositories** and then choose a repository. -3. Go to the **Settings** tab. -4. Under **Image security insight settings**, select **Static scanning**. -5. Select **Save**. +4. Select the **Settings** tab. +5. Under **Image security insight settings**, select **Static scanning**. +6. Select **Save**. ### Scan an image To scan an image for vulnerabilities, push the image to Docker Hub, to the -repository for which you have turned on scanning: - -1. Ensure you have installed Docker locally. See [Get Docker](/get-started/get-docker.md) - to download and install Docker on your local machine. -2. Use the command line to log into your Docker account. See - [`docker login`](/reference/cli/docker/login.md) for more - information. -3. Tag the image to scan. For example, to tag a Redis image, run: +repository for which you have turned on scanning. - ```console - $ docker tag redis /:latest - ``` +### View the vulnerability report -4. Push the image to Docker Hub to trigger a static vulnerability scan for the - image: - - ```console - $ docker push /:latest - ``` +To view the vulnerability report: -## View the vulnerability report +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. -To view the vulnerability report: + A list of your repositories appears. -1. Go to [Docker Hub](https://hub.docker.com) and open the repository page to - view a summary of the static vulnerability scanning report. +3. Select a repository. + The **General** page for the repository appears. It may take a couple of minutes for the vulnerability report to appear in your repository. ![Vulnerability scan report](images/vuln-scan-report.png) -2. Select the **Tags** tab, then **Digest**, then **Vulnerabilities** to view the +4. Select the **Tags** tab, then **Digest**, then **Vulnerabilities** to view the detailed scan report. The scan report displays vulnerabilities identified by the scan, sorting them @@ -153,15 +183,22 @@ actions you can take to remediate the vulnerabilities. For example, you can: Docker Scout can provide you with concrete and contextual remediation steps for improving image security. For more information, see -[Docker Scout](../scout/_index.md). +[Docker Scout](/manuals/scout/_index.md). ### Turn off static vulnerability scanning Repository owners and administrators can disable static vulnerability scanning on a repository. To disable scanning: -1. Sign in to your [Docker Hub](https://hub.docker.com) account. -2. Go to **Repositories** and then select a repository from the list. -3. Go to the **Settings** tab. -4. Under **Image security insight settings**, select **None**. -5. Select **Save**. +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. + + A list of your repositories appears. + +3. Select a repository. + + The **General** page for the repository appears. + +4. Select the **Settings** tab. +5. Under **Image security insight settings**, select **None**. +6. Select **Save**. diff --git a/content/manuals/docker-hub/webhooks.md b/content/manuals/docker-hub/repos/manage/webhooks.md similarity index 98% rename from content/manuals/docker-hub/webhooks.md rename to content/manuals/docker-hub/repos/manage/webhooks.md index 7eed021aee93..67928127f7d8 100644 --- a/content/manuals/docker-hub/webhooks.md +++ b/content/manuals/docker-hub/repos/manage/webhooks.md @@ -2,7 +2,9 @@ description: Docker Hub Webhooks keywords: Docker, webhooks, hub, builds title: Webhooks -weight: 40 +weight: 80 +aliases: +- /docker-hub/webhooks/ --- You can use webhooks to cause an action in another service in response to a push event in the repository. Webhooks are POST requests sent to a URL you define in Docker Hub. diff --git a/content/manuals/docker-hub/repos/settings.md b/content/manuals/docker-hub/repos/settings.md new file mode 100644 index 000000000000..279295d458fb --- /dev/null +++ b/content/manuals/docker-hub/repos/settings.md @@ -0,0 +1,55 @@ +--- +description: Learn about personal repository settings in Docker Hub +keywords: Docker Hub, Hub, repositories, settings +title: Personal settings for repositories +linkTitle: Personal settings +toc_max: 3 +weight: 50 +--- + +For your account, you can set personal settings for repositories, including +default repository privacy and autobuild notifications. + +## Default repository privacy + +When creating a new repository in Docker Hub, you are able to specify the +repository visibility. You can also change the visibility at any time in Docker Hub. + +The default setting is useful if you use the `docker push` command to push to a +repository that doesn't exist yet. In this case, Docker Hub automatically +creates the repository with your default repository privacy. + +### Configure default repository privacy + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. +3. Near the top-right corner, select the settings icon and then **Repository Settings**. +4. Select the **Default privacy** for any new repository created. + + - **Public**: All new repositories appear in Docker Hub search results and can be + pulled by everyone. + - **Private**: All new repositories don't appear in Docker Hub search results + and are only accessible to you and collaborators. In addition, if the + repository is created in an organization's namespace, then the repository + is accessible to those with applicable roles or permissions. + +5. Select **Save**. + +## Autobuild notifications + +You can send notifications to your email for all your repositories using +autobuilds. + +### Configure autobuild notifications + +1. Sign in to [Docker Hub](https://hub.docker.com). +2. Select **Repositories**. +3. Near the top-right corner, select the settings icon and then **Repository Settings**. +4. Select the **Notifications** +5. Select the notifications to receive by email. + + - **Off**: No notifications. + - **Only failures**: Only notifications about failed builds. + - **Everything**: Notifications for successful and failed builds. + +6. Select **Save**. diff --git a/content/manuals/registry.md b/content/manuals/registry.md index c4b34bef8be8..e11d03183f84 100644 --- a/content/manuals/registry.md +++ b/content/manuals/registry.md @@ -84,7 +84,7 @@ For documentation related to authentication to the Docker Hub registry, see: [specification]: https://github.com/opencontainers/distribution-spec/blob/v1.0.1/spec.md [OCI image manifest]: https://github.com/opencontainers/image-spec/blob/main/manifest.md [Docker image manifest version 2, schema 2]: https://distribution.github.io/distribution/spec/manifest-v2-2/ -[OCI artifacts]: /docker-hub/oci-artifacts/ +[OCI artifacts]: /docker-hub/repos/manage/hub-images/oci-artifacts/ [oauth2]: https://distribution.github.io/distribution/spec/auth/oauth/ [jwt]: https://distribution.github.io/distribution/spec/auth/jwt/ [token]: https://distribution.github.io/distribution/spec/auth/token/ diff --git a/content/manuals/security/_index.md b/content/manuals/security/_index.md index 4b5eb7bf5a72..22879e3535d1 100644 --- a/content/manuals/security/_index.md +++ b/content/manuals/security/_index.md @@ -64,7 +64,7 @@ grid_developers: - title: Static vulnerability scanning description: Automatically run a point-in-time scan on your Docker images for vulnerabilities. icon: image_search - link: /docker-hub/vulnerability-scanning/ + link: /docker-hub/repos/manage/vulnerability-scanning/ - title: Docker Engine security description: Understand how to keep Docker Engine secure. icon: security diff --git a/content/manuals/security/security-announcements.md b/content/manuals/security/security-announcements.md index f98c6c0dbe52..9c1cbddd0604 100644 --- a/content/manuals/security/security-announcements.md +++ b/content/manuals/security/security-announcements.md @@ -145,7 +145,7 @@ Docker Hub security scans triggered after 1200 UTC 21 October 2021 are now correctly identifying the Text4Shell CVE. Scans before this date do not currently reflect the status of this vulnerability. Therefore, we recommend that you trigger scans by pushing new images to Docker Hub to view the status of -the Text4Shell CVE in the vulnerability report. For detailed instructions, see [Scan images on Docker Hub](../docker-hub/vulnerability-scanning.md). +the Text4Shell CVE in the vulnerability report. For detailed instructions, see [Scan images on Docker Hub](../docker-hub/repos/manage/vulnerability-scanning.md). ### Docker Official Images impacted by CVE-2022-42889 @@ -195,7 +195,7 @@ Docker Hub security scans triggered after 1700 UTC 13 December 2021 are now correctly identifying the Log4j 2 CVEs. Scans before this date do not currently reflect the status of this vulnerability. Therefore, we recommend that you trigger scans by pushing new images to Docker Hub to view the status of -Log4j 2 CVE in the vulnerability report. For detailed instructions, see [Scan images on Docker Hub](../docker-hub/vulnerability-scanning.md). +Log4j 2 CVE in the vulnerability report. For detailed instructions, see [Scan images on Docker Hub](../docker-hub/repos/manage/vulnerability-scanning.md). ## Docker Official Images impacted by Log4j 2 CVE diff --git a/content/manuals/subscription/core-subscription/details.md b/content/manuals/subscription/core-subscription/details.md index 021f7b2dc12c..e557bd3c18a6 100644 --- a/content/manuals/subscription/core-subscription/details.md +++ b/content/manuals/subscription/core-subscription/details.md @@ -29,7 +29,7 @@ Docker Personal includes: - Unlimited public repositories - Unlimited [Scoped Access Tokens](../../security/for-developers/access-tokens.md) -- Unlimited [collaborators](../../docker-hub/repos/access.md#collaborators-and-their-role) for public repositories at no cost per month. +- Unlimited [collaborators](../../docker-hub/repos/manage/access.md#collaborators-and-their-role) for public repositories at no cost per month. - Access to [Docker Scout Free](../scout-details.md#docker-scout-free) to get started with software supply chain security. Additionally, anonymous users get 100 pulls every 6 hours and users that sign in to Docker get 200 pulls every 6 hours. @@ -44,8 +44,8 @@ Docker Pro includes: - All the features available in Personal - Unlimited private repositories - 5000 image [pulls per day](../../docker-hub/download-rate-limit.md) -- [Auto Builds](../../docker-hub/builds/_index.md) with 5 concurrent builds -- 300 [Vulnerability Scans](../../docker-hub/vulnerability-scanning.md) +- [Auto Builds](../../docker-hub/repos/manage/builds/_index.md) with 5 concurrent builds +- 300 [Vulnerability Scans](../../docker-hub/repos/manage/vulnerability-scanning.md) For a list of features available in each tier, see [Docker Pricing](https://www.docker.com/pricing/). @@ -56,8 +56,8 @@ For a list of features available in each tier, see [Docker Pricing](https://www. Docker Team includes: - Everything included in Docker Pro - Unlimited teams -- [Auto Builds](../../docker-hub/builds/_index.md) with 15 concurrent builds -- Unlimited [Vulnerability Scanning](../../docker-hub/vulnerability-scanning.md) +- [Auto Builds](../../docker-hub/repos/manage/builds/_index.md) with 15 concurrent builds +- Unlimited [Vulnerability Scanning](../../docker-hub/repos/manage/vulnerability-scanning.md) - 5000 image [pulls per day](../../docker-hub/download-rate-limit.md) for each team member There are also advanced collaboration and management tools, including organization and team management with [Role Based Access Control (RBAC)](../../security/for-admins/roles-and-permissions.md), [activity logs](../../admin/organization/activity-logs.md), and more. diff --git a/content/manuals/trusted-content/dvp-program.md b/content/manuals/trusted-content/dvp-program.md index e9dc38a50961..ed92b9259579 100644 --- a/content/manuals/trusted-content/dvp-program.md +++ b/content/manuals/trusted-content/dvp-program.md @@ -98,7 +98,7 @@ Scanning images ensures that the published content is secure, and proves to developers that they can trust the image. You can enable analysis on a per-repository -basis. For more about using this feature, see [Basic vulnerability scanning](/docker-hub/vulnerability-scanning/). +basis. For more about using this feature, see [Basic vulnerability scanning](/docker-hub/repos/manage/vulnerability-scanning/). ### Who's eligible to become a verified publisher?