From 3602540596a3bb8af21ed55b4df224e55c2b04d8 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Wed, 21 Nov 2018 16:49:26 -0500 Subject: [PATCH] Fix small issues --- _data/toc.yaml | 4 +- _scripts/make-archive-branch.sh | 4 - .../configure/license-your-installation.md | 2 +- .../configure/set-up-vulnerability-scans.md | 10 +- .../user/manage-images/sign-images/index.md | 6 +- .../deploy-view-only-service.md | 20 +- .../admin/configure/integrate-with-dtr.md | 6 +- .../configure/license-your-installation.md | 4 +- .../ucp/3.0/guides/admin/install/index.md | 2 +- docker-for-windows/index.md | 4 +- docker-hub/builds/advanced.md | 2 + docker-hub/builds/automated-build.md | 1 + docker-hub/builds/automated-testing.md | 1 + docker-hub/builds/bitbucket.md | 2 + docker-hub/builds/builds.md | 235 ------------------ docker-hub/builds/github.md | 6 +- docker-hub/builds/index.md | 8 +- docker-hub/builds/link-source.md | 1 + .../images/slack-notification-updates.png | Bin 0 -> 27056 bytes docker-hub/index.md | 71 +++++- .../{official_repos.md => official_images.md} | 2 + docker-hub/orgs.md | 2 + docker-hub/publish/byol.md | 2 + docker-hub/publish/certify-images.md | 2 + docker-hub/publish/certify-plugins-logging.md | 3 + docker-hub/publish/customer_faq.md | 2 + docker-hub/publish/publish.md | 2 + docker-hub/publish/publisher_faq.md | 3 + docker-hub/publish/trustchain.md | 6 +- docker-hub/slack_integration.md | 50 ++++ docker-id/index.md | 2 + get-started/part5.md | 23 +- get-started/part6.md | 8 +- 33 files changed, 194 insertions(+), 302 deletions(-) delete mode 100644 docker-hub/builds/builds.md create mode 100644 docker-hub/images/slack-notification-updates.png rename docker-hub/{official_repos.md => official_images.md} (99%) create mode 100644 docker-hub/slack_integration.md diff --git a/_data/toc.yaml b/_data/toc.yaml index 85fe1b869c..77d750b2d1 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -3647,8 +3647,6 @@ manuals: title: Testing in Builds - path: /docker-hub/builds/advanced/ title: Advanced Builds - - path: /docker-hub/builds/webhooks/ - title: Build Webhooks - path: /docker-hub/builds/github/ title: Connecting GitHub - path: /docker-hub/builds/bitbucket/ @@ -3657,7 +3655,7 @@ manuals: section: - path: /docker-hub/customer_faq/ title: Subscriptions - - path: /docker-store/publish/publisher_faq/ + - path: /docker-hub/publish/publisher_faq/ title: Publishers - path: /docker-hub/publish/ title: Publish Images & Plugins diff --git a/_scripts/make-archive-branch.sh b/_scripts/make-archive-branch.sh index 31d666f5b3..7ab787292e 100755 --- a/_scripts/make-archive-branch.sh +++ b/_scripts/make-archive-branch.sh @@ -85,9 +85,7 @@ bash _scripts/fetch-upstream-resources.sh -l # Currently, this is: # /samples/ # /docker-id/ -# /docker-cloud/ # /docker-hub/ -# /docker-store/ # These rely on _layout/archive-redirect.html only_live_contents=("samples" "docker-id" "docker-cloud" "docker-hub" "docker-store") @@ -145,5 +143,3 @@ echo " and get back to master, run the following:" echo echo " git reset --hard; git clean -fd; git checkout master; git branch -D v$version" echo - - diff --git a/datacenter/dtr/2.5/guides/admin/configure/license-your-installation.md b/datacenter/dtr/2.5/guides/admin/configure/license-your-installation.md index 3c14e283a5..a976e7e827 100644 --- a/datacenter/dtr/2.5/guides/admin/configure/license-your-installation.md +++ b/datacenter/dtr/2.5/guides/admin/configure/license-your-installation.md @@ -17,7 +17,7 @@ DTR installation: ## Download your license -Go to [Docker Store](https://store.docker.com/editions/enterprise/docker-ee-trial) +Go to [Docker Hub](https://hub.docker.com/editions/enterprise/docker-ee-trial) and download your license. ![](../../images/license-1.png){: .with-border} diff --git a/datacenter/dtr/2.5/guides/admin/configure/set-up-vulnerability-scans.md b/datacenter/dtr/2.5/guides/admin/configure/set-up-vulnerability-scans.md index 7f8c754b8f..43063ab033 100644 --- a/datacenter/dtr/2.5/guides/admin/configure/set-up-vulnerability-scans.md +++ b/datacenter/dtr/2.5/guides/admin/configure/set-up-vulnerability-scans.md @@ -16,7 +16,7 @@ access. Before you begin, make sure that you or your organization has purchased a DTR license that includes Docker Security Scanning, and that your Docker ID can -access and download this license from the Docker Store. +access and download this license from the Docker Hub. If you are using a license associated with an individual account, no additional action is needed. If you are using a license associated with an organization @@ -36,7 +36,7 @@ this step and proceed to [enable DTR Security Scanning](#enable-dtr-security-sca If your current DTR license doesn't include scanning, you must first download the new license. -1. Log in to the Docker Store using a Docker ID with access to the license you need. +1. Log in to the Docker Hub using a Docker ID with access to the license you need. 2. In the top right corner, click your user account icon, and select **My Content**. 3. Locate **Docker Enterprise Edition** in the content list, and click **Setup**. 4. Click **License Key** to download the license. @@ -141,12 +141,12 @@ Your choice is saved automatically. To update the CVE database for your DTR instance when it cannot contact the update server, you download and install a `.tar` file that contains the database updates. To download the file: -1. Log in to the [Docker Store](https://store.docker.com/). +1. Log in to the [Docker Hub](https://hub.docker.com/). - If you are a member of an Organization managing licenses using Docker Store, + If you are a member of an Organization managing licenses using Docker Hub, make sure your account is a member of the `Owners` team. Only Owners can view and manage licenses and other entitlements for Organizations from the - Docker Store. + Docker Hub. 2. In the top right corner, click your user account icon, and select **My Content**. 3. If necessary, select an organization account from the **Accounts** menu at the upper right. diff --git a/datacenter/dtr/2.5/guides/user/manage-images/sign-images/index.md b/datacenter/dtr/2.5/guides/user/manage-images/sign-images/index.md index cef1a76464..2b72a73769 100644 --- a/datacenter/dtr/2.5/guides/user/manage-images/sign-images/index.md +++ b/datacenter/dtr/2.5/guides/user/manage-images/sign-images/index.md @@ -39,7 +39,7 @@ To sign images in a way that UCP trusts them, you need to: * Initialize trust metadata for the repository * Delegate signing to the keys in your UCP client bundle -In this example we're going to pull an NGINX image from Docker Store, +In this example we're going to pull an NGINX image from Docker Hub, re-tag it as `dtr.example.org/dev/nginx:1`, push the image to DTR and sign it in a way that is trusted by UCP. If you manage multiple repositories, you need to do the same procedure for every one of them. @@ -56,11 +56,11 @@ the easiest way to do it is by pushing an image to that repository. Navigate to the **DTR web UI**, and create a repository for your image. In this example we've created the `dev/nginx` repository. -From the Docker CLI client, pull an NGINX image from Docker Store, +From the Docker CLI client, pull an NGINX image from Docker Hub, re-tag it, sign and push it to DTR. ```bash -# Pull NGINX from Docker Store +# Pull NGINX from Docker Hub docker pull nginx:latest # Re-tag NGINX diff --git a/datacenter/ucp/3.0/guides/access-control/deploy-view-only-service.md b/datacenter/ucp/3.0/guides/access-control/deploy-view-only-service.md index 6336ed7f30..2fe06fcce6 100644 --- a/datacenter/ucp/3.0/guides/access-control/deploy-view-only-service.md +++ b/datacenter/ucp/3.0/guides/access-control/deploy-view-only-service.md @@ -9,7 +9,7 @@ collection that contains one service. 1. Create an organization and a team. 2. Create a collection for the view-only service. -3. Create a grant to manage user access to the collection. +3. Create a grant to manage user access to the collection. ![](../images/view-only-access-diagram.svg) @@ -22,9 +22,9 @@ who isn't an administrator to the team. 1. Log in to UCP as an administrator. 2. Navigate to the **Organizations & Teams** page and click **Create Organization**. Name the new organization "engineering" and - click **Create**. + click **Create**. 3. Click **Create Team**, name the new team "Dev", and click **Create**. -3. Add a non-admin user to the Dev team. +3. Add a non-admin user to the Dev team. ## Create a collection for the service @@ -36,7 +36,7 @@ who isn't an administrator to the team. ![](../images/deploy-view-only-service-1.png) -The `/Shared/View-only services` collection is ready to use for access +The `/Shared/View-only services` collection is ready to use for access control. ## Deploy a service @@ -48,7 +48,7 @@ collection. 1. Navigate to the **Services** page and create a new service, named "WordPress". 2. In the **Image** textbox, enter "wordpress:latest". This identifies the - most recent WordPress image in the Docker Store. + most recent WordPress image in the Docker Hub. 3. In the left pane, click **Collection**. The **Swarm** collection appears. 4. Click **View children** to list all of the collections. In **Shared**, Click **View children**, find the **View-only services** collection and @@ -71,7 +71,7 @@ Currently, users who aren't administrators can't access the and click **Select Collection**. 3. Click **Roles**, and in the dropdown, select **View Only**. 4. Click **Subjects**, and under **Select subject type**, click **Organizations**. - In the dropdown, select **engineering**. + In the dropdown, select **engineering**. 5. Click **Create** to grant permissions to the organization. ![](../images/deploy-view-only-service-4.png) @@ -80,21 +80,21 @@ Everything is in place to show role-based access control in action. ## Verify the user's permissions -Users in the `engineering` organization have view-only access to the +Users in the `engineering` organization have view-only access to the `/Shared/View-only services` collection. You can confirm this by logging in as a non-admin user in the organization and trying to delete the service. -1. Log in as the user who you assigned to the Dev team. +1. Log in as the user who you assigned to the Dev team. 2. Navigate to the **Services** page and click **WordPress**. 3. In the details pane, confirm that the service's collection is **/Shared/View-only services**. ![](../images/deploy-view-only-service-2.png) - + 4. Click the checkbox next to the **WordPress** service, click **Actions**, and select **Remove**. You get an error message, because the user doesn't have `Service Delete` access to the collection. ## Where to go next -- [Isolate volumes between two different teams](isolate-volumes-between-teams.md) \ No newline at end of file +- [Isolate volumes between two different teams](isolate-volumes-between-teams.md) diff --git a/datacenter/ucp/3.0/guides/admin/configure/integrate-with-dtr.md b/datacenter/ucp/3.0/guides/admin/configure/integrate-with-dtr.md index 99ce3844de..36a5ac5df1 100644 --- a/datacenter/ucp/3.0/guides/admin/configure/integrate-with-dtr.md +++ b/datacenter/ucp/3.0/guides/admin/configure/integrate-with-dtr.md @@ -78,7 +78,7 @@ system: # Restart the Docker daemon $ sudo /bin/systemctl restart docker.service ``` - + * For SUSE SLES 12: ```bash @@ -105,11 +105,11 @@ images from your local Docker installation to DTR. ![](/datacenter/ucp/2.2/guides/images/dtr-integration-1.png) -2. Pull the `hello-world` image from Docker Store, re-tag it, and push it to the +2. Pull the `hello-world` image from Docker Hub, re-tag it, and push it to the DTR repository you created. ```none - # Pull hello-world from Docker Store + # Pull hello-world from Docker Hub docker image pull hello-world:latest # Re-tag it diff --git a/datacenter/ucp/3.0/guides/admin/configure/license-your-installation.md b/datacenter/ucp/3.0/guides/admin/configure/license-your-installation.md index 8f0956a682..c62b3ff167 100644 --- a/datacenter/ucp/3.0/guides/admin/configure/license-your-installation.md +++ b/datacenter/ucp/3.0/guides/admin/configure/license-your-installation.md @@ -9,7 +9,7 @@ installation. Here's how to do it. ## Download your license -Go to [Docker Store](https://www.docker.com/enterprise-edition) and +Go to [Docker Hub](https://www.docker.com/enterprise-edition) and download your UCP license, or get a free trial license. ![](../../images/license-ucp-1.png){: .with-border} @@ -17,7 +17,7 @@ download your UCP license, or get a free trial license. ## License your installation Once you've downloaded the license file, you can apply it to your UCP -installation. +installation. In the UCP web UI, log in with administrator credentials and navigate to the **Admin Settings** page. diff --git a/datacenter/ucp/3.0/guides/admin/install/index.md b/datacenter/ucp/3.0/guides/admin/install/index.md index 6800f815ca..43dc4ff613 100644 --- a/datacenter/ucp/3.0/guides/admin/install/index.md +++ b/datacenter/ucp/3.0/guides/admin/install/index.md @@ -79,7 +79,7 @@ To install UCP: Now that UCP is installed, you need to license it. 1. Go to the - [Docker Store](https://www.docker.com/enterprise-edition) + [Docker Hub](https://www.docker.com/enterprise-edition) and buy a Docker EE subscription, or get a free trial license. 2. In your browser, navigate to the UCP web UI, log in with your diff --git a/docker-for-windows/index.md b/docker-for-windows/index.md index 029c2f01fd..06341b846d 100644 --- a/docker-for-windows/index.md +++ b/docker-for-windows/index.md @@ -443,7 +443,7 @@ to change context so that `kubectl` is pointing to `docker-for-desktop`: > kubectl config use-context docker-for-desktop ``` -You can also change it through the Docker for Windows menu: +You can also change it through the Docker for Windows menu: ![Change Kubernetes Context](images/docker-menu-context-switch.png){:width="600px"} @@ -487,7 +487,7 @@ Visit our [Logs and Troubleshooting](troubleshoot.md) guide for more details. Log on to our [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows) to get help from the community, review current user topics, or join a discussion. -Log on to [Docker for Windows issues on GitHub](https://github.com/docker/for-win/issues) to report bugs or problems and review community reported issues. +Log on to [Docker for Windows issues on GitHub](https://github.com/docker/for-win/issues) to report bugs or problems and review community reported issues. To give feedback on the documentation or update it yourself, use the Feedback options at the bottom of each docs page. diff --git a/docker-hub/builds/advanced.md b/docker-hub/builds/advanced.md index 2b9bbe2c7a..d16f24e335 100644 --- a/docker-hub/builds/advanced.md +++ b/docker-hub/builds/advanced.md @@ -2,6 +2,8 @@ description: Automated builds keywords: automated, build, images title: Advanced options for Autobuild and Autotest +redirect_from: +- /docker-cloud/builds/advanced/ --- The following options allow you to customize your automated build and automated test processes. diff --git a/docker-hub/builds/automated-build.md b/docker-hub/builds/automated-build.md index abbd7f16e0..2cdd20df81 100644 --- a/docker-hub/builds/automated-build.md +++ b/docker-hub/builds/automated-build.md @@ -3,6 +3,7 @@ description: Automated builds keywords: automated, build, images redirect_from: - /docker-cloud/feature-reference/automated-build/ +- /docker-cloud/builds/automated-build/ title: Automated builds --- diff --git a/docker-hub/builds/automated-testing.md b/docker-hub/builds/automated-testing.md index d79863edd4..ca46b8c135 100644 --- a/docker-hub/builds/automated-testing.md +++ b/docker-hub/builds/automated-testing.md @@ -3,6 +3,7 @@ description: Automated tests keywords: Automated, testing, repository redirect_from: - /docker-cloud/feature-reference/automated-testing/ +- /docker-cloud/builds/automated-testing/ title: Automated repository tests --- diff --git a/docker-hub/builds/bitbucket.md b/docker-hub/builds/bitbucket.md index af76d41e55..3e0055eb4d 100644 --- a/docker-hub/builds/bitbucket.md +++ b/docker-hub/builds/bitbucket.md @@ -2,6 +2,8 @@ description: Docker Hub Automated Builds using Bitbucket keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, bitbucket title: Configure automated builds with Bitbucket +redirect_from: +- /docker-hub/bitbucket/ --- If you've previously linked Docker Hub to your Bitbucket account, skip to diff --git a/docker-hub/builds/builds.md b/docker-hub/builds/builds.md deleted file mode 100644 index a75610d242..0000000000 --- a/docker-hub/builds/builds.md +++ /dev/null @@ -1,235 +0,0 @@ ---- -description: Docker Hub Automated Builds -keywords: Dockerfile, Hub, builds, trusted builds, automated builds -title: Configure automated builds on Docker Hub ---- - -You can build your images automatically from a build context stored in a -repository. A *build context* is a Dockerfile and any files at a specific -location. For an automated build, the build context is a repository containing a -Dockerfile. - -Automated Builds have several advantages: - - * Images built in this way are built exactly as specified. - * The `Dockerfile` is available to anyone with access to your Docker Hub repository. - * Your repository is kept up-to-date with code changes automatically. - -Automated Builds are supported for both public and private repositories on both -[GitHub](http://github.com) and [Bitbucket](https://bitbucket.org/). This -document guides you through the process of working with automated builds. - -## Prerequisites - -To use automated builds, you must have an [account on Docker Hub](accounts.md) -and on the hosted repository provider (GitHub or Bitbucket). If you have -previously linked your Github or Bitbucket account, you must have chosen the -Public and Private connection type. - -To view your current connection settings, log in to Docker Hub and choose -**Profile > Settings > Linked Accounts & Services**. - -## Limitations - -- Currently Docker Hub does not support Git LFS (Large File Storage). If you have - binaries in your build context that are managed by Git LFS, only the pointer - file is present in the clone made during the automated build, which is not - what you want. - - Subscribe to the [GitHub issue](https://github.com/docker/hub-feedback/issues/500) - tracking this limitation. - -- Building Windows containers is not supported. - -## Link to a hosted repository service - -1. Log into Docker Hub. - -2. Navigate to **Profile > Settings > Linked Accounts & Services**. - -3. Click the service you want to link. - - The system prompts you to choose between Public and Private and Limited Access. The Public and Private connection type is required if you want to use the Automated Builds. - -4. Press **Select** under Public and Private connection type. - - The system prompts you to enter your service credentials (Bitbucket or GitHub) to login. For example, Bitbucket's prompt looks like this: - - ![Bitbucket](images/bitbucket_creds.png) - - After you grant access to your code repository, the system returns you to Docker Hub and the link is complete. - - ![Linked account](images/linked-acct.png) - -## Create an automated build - -Automated build repositories rely on the integration with your code repository -To build. However, you can also push already-built images to these -repositories using the `docker push` command. - -1. Select **Create** > **Create Automated Build** (from the drop down, upper right) on [Docker Hub](https://hub.docker.com/). - - The system prompts you with a list of User/Organizations and code repositories. - -2. Select from the User/Organizations. - -3. Optionally, type to filter the repository list. - -4. Pick the project to build. - - The system displays the **Create Automated Build** dialog. - - ![Create dialog](images/create-dialog1.png) - - The dialog assumes some defaults which you can customize. By default, Docker - builds images for each branch in your repository. It assumes the Dockerfile - lives at the root of your source. When it builds an image, Docker tags it with - the branch name. - -6. Customize the automated build by pressing the **Click here to customize** this behavior link. - - ![Create dialog](images/create-dialog.png) - - Specify which code branches or tags to build from. You can add new - configurations by clicking the + (plus sign). The dialog accepts regular - expressions. - - ![Create dialog](images/regex-help.png) - -9. Click **Create**. - - The system displays the home page for your AUTOMATED BUILD. - - ![Home page](images/home-page.png) - - Within GitHub, a Docker integration appears in your repositories Settings > Webhooks & services page. - - ![GitHub](images/docker-integration.png) - - A similar page appears in Bitbucket if you use that code repository. Be - careful to leave the Docker integration in place. Removing it causes your - automated builds to stop. - -### Understand the build process - -The first time you create a new automated build, Docker Hub builds your image. -In a few minutes, you should see your new build on the image dashboard. The -Build Details page shows a log of your build systems: - -![Pending](images/first_pending.png) - -During the build process, Docker copies the contents of your `Dockerfile` to -Docker Hub. The Docker community (for public repositories) or approved team -members/orgs (for private repositories) can then view the Dockerfile on your -repository page. - -The build process looks for a `README.md` in the same directory as your -`Dockerfile`. If you have a `README.md` file in your repository, it is used in -the repository as the full description. If you change the full description after -a build, it's overwritten the next time the Automated Build runs. To make -changes, modify the `README.md` in your Git repository. - -You can only trigger one build at a time and no more than one every five -minutes. If you already have a build pending, or if you recently submitted a -build request, Docker ignores new requests. - -### Build statuses explained - -You can view the status of the builds for a specific repository by looking at -the Build Details screen. If you have builds that are queued or in progress, you -can click **Cancel** to end them. - -![Build statuses](images/build-states-ex.png) - -The statuses are: - -* **Queued**: You're in line for your image to be built. Queue time varies depending on number of concurrent builds available to you. -* **Building**: The image is building. -* **Success**: The image has been built with no issues. -* **Error**: There was an issue with your image. Click the row to go to the Builds Details screen. The banner at the top of the page displays the last sentence of the log file, which indicates what the error was. If you need more information, scroll to the bottom of the screen to the logs section. - -## Use the Build Settings page - -The Build Settings page allows you to manage your existing automated build -configurations and add new ones. By default, when new code is merged into your -source repository, it triggers a build of your DockerHub image. - -![Default checkbox](images/merge_builds.png) - -Clear the checkbox to turn this behavior off. You can use the other settings on -the page to configure and build images. - -## Add and run a new build - -At the top of the Build Dialog is a list of configured builds. You can build -from a code branch or by build tag. - -![Build or tag](images/build-by.png) - -Docker builds everything listed whenever a push is made to the code repository. -If you specify a branch or tag, you can manually build that image by -pressing the Trigger. If you use a regular expression syntax (regex) to define -your build branch or tag, Docker does not give you the option to manually build. -To add a new build: - -1. Press the + (plus sign). - -2. Choose the Type. - - You can build by a code branch or by an image tag. - -3. Enter the Name of the branch or tag. - - You can enter a specific value or use a regex to select multiple values. To - see examples of regex, press the Show More link on the right of the page. - - ![Regexhelp](images/regex-help.png) - -4. Enter a Dockerfile location. - -5. Specify a Tag Name. - -6. Press **Save Changes**. - -If you make a mistake or want to delete a build, press the - (minus sign) and then **Save Changes**. - -## Repository links - -Repository links let you link one Automated Build with another. If one Automated -Build gets updated, Docker triggers a build of the other. This makes it easy to -ensure that related images are kept in sync. You can link more than one image -repository. You only need to link one side of two related builds. Linking both -sides causes an endless build loop. - -To add a link: - -1. Go to the Build Settings for an automated build repository. - -2. In the Repository Links section, enter an image repository name. - - A remote repository name should be either an official image name such as `ubuntu` or a public repository name `namespace/repoName`. - -3. Press **Add**. - - ![Links](images/repo_links.png) - - -## Remote Build triggers - -To trigger Automated Builds programmatically, you can set up a remote build -trigger in another application such as GitHub or Bitbucket. When you Activate -the build trigger for an Automated Build, it supplies you with a Token and a -URL. - -![Build trigger screen](images/build-trigger.png) - -You can use `curl` to trigger a build: - -```bash -$ curl --data build=true -X POST https://registry.hub.docker.com/u/svendowideit/testhook/trigger/be579c -82-7c0e-11e4-81c4-0242ac110020/ -OK -``` - -To verify everything is working correctly, check the **Last 10 Trigger Logs** on -the page. diff --git a/docker-hub/builds/github.md b/docker-hub/builds/github.md index 26c2f2ebd8..9eb4a5679d 100644 --- a/docker-hub/builds/github.md +++ b/docker-hub/builds/github.md @@ -2,6 +2,8 @@ description: Docker Hub Automated Builds with GitHub keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, trusted, builds, trusted builds, automated builds, GitHub title: Configure automated builds from GitHub +redirect_from: +- /docker-hub/github/ --- If you've previously linked Docker Hub to your GitHub account, @@ -23,7 +25,7 @@ GitHub account. This allows the registry to see your GitHub repositories. To add, remove or view your linked account, log in to your Docker Hub account. Select **Settings > Linked Accounts & Services**. Linking to Github grants Docker Hub access to all of your repositories. Follow the -onscreen instructions to authorize and link your GitHub account to Docker Hub. +onscreen instructions to authorize and link your GitHub account to Docker Hub. Once it is linked, you can choose a source repository from which to create the Automatic Build. You can review and revoke Docker Hub's access by visiting the @@ -181,5 +183,3 @@ The image below shows the **Webhooks/Add webhook** form with the above settings If configured correctly, you'll see this in the **Webhooks** view ![github-webhook](images/github-webhook.png) - - diff --git a/docker-hub/builds/index.md b/docker-hub/builds/index.md index 4f91a6e0ba..41393535af 100644 --- a/docker-hub/builds/index.md +++ b/docker-hub/builds/index.md @@ -3,6 +3,10 @@ description: Getting Started with Builds keywords: builds, images, Hub title: Getting Started with Builds notoc: true +redirect_from: +- /docker-cloud/builds/ +- /docker-cloud/builds/repos/ +- /docker-cloud/builds/push-images/ --- Docker Hub provides a hosted registry service where you can create @@ -15,8 +19,8 @@ image on each `git push` to the source code. You can also create automated tests, and when the tests pass use autoredeploy to automatically update your running services when a build passes its tests. -* [Repositories in Docker Hub](repos.md) -* [Link to a source code repository](link-source.md) +For more information, see: + * [Automated builds](automated-build.md) * [Automated repository tests](automated-testing.md) * [Advanced options for Autobuild and Autotest](advanced.md) diff --git a/docker-hub/builds/link-source.md b/docker-hub/builds/link-source.md index e50249cf4f..9fafd63665 100644 --- a/docker-hub/builds/link-source.md +++ b/docker-hub/builds/link-source.md @@ -3,6 +3,7 @@ description: Link to your source code repository keywords: sourcecode, github, bitbucket redirect_from: - /docker-cloud/tutorials/link-source/ +- /docker-cloud/builds/link-source/ title: Link Docker Hub to a source code provider --- diff --git a/docker-hub/images/slack-notification-updates.png b/docker-hub/images/slack-notification-updates.png new file mode 100644 index 0000000000000000000000000000000000000000..8d005677039a9073092e04a5dd35d9ac6ad8caef GIT binary patch literal 27056 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 literal 0 HcmV?d00001 diff --git a/docker-hub/index.md b/docker-hub/index.md index 4f798cdb06..eef498a071 100644 --- a/docker-hub/index.md +++ b/docker-hub/index.md @@ -1,9 +1,78 @@ --- description: Get Started with Docker Hub keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, documentation, accounts, organizations, repositories, groups, teams +title: Get Started with Docker Hub redirect_from: - /docker-hub/overview/ -title: Get Started with Docker Hub +- /apidocs/docker-cloud/ +- /docker-cloud/migration/ +- /docker-cloud/migration/cloud-to-swarm/ +- /docker-cloud/migration/cloud-to-kube-aks/ +- /docker-cloud/migration/cloud-to-kube-gke/ +- /docker-cloud/migration/cloud-to-aws-ecs/ +- /docker-cloud/migration/deregister-swarms/ +- /docker-cloud/migration/kube-primer/ +- /docker-cloud/cloud-swarm/ +- /docker-cloud/cloud-swarm/using-swarm-mode/ +- /docker-cloud/cloud-swarm/register-swarms/ +- /docker-cloud/cloud-swarm/register-swarms/ +- /docker-cloud/cloud-swarm/create-cloud-swarm-aws/ +- /docker-cloud/cloud-swarm/create-cloud-swarm-azure/ +- /docker-cloud/cloud-swarm/connect-to-swarm/ +- /docker-cloud/cloud-swarm/link-aws-swarm/ +- /docker-cloud/cloud-swarm/link-azure-swarm/ +- /docker-cloud/cloud-swarm/ssh-key-setup/ +- /docker-cloud/infrastructure/ +- /docker-cloud/infrastructure/deployment-strategies/ +- /docker-cloud/infrastructure/link-aws/ +- /docker-cloud/infrastructure/link-do/ +- /docker-cloud/infrastructure/link-azure/ +- /docker-cloud/infrastructure/link-packet/ +- /docker-cloud/infrastructure/link-softlayer/ +- /docker-cloud/infrastructure/ssh-into-a-node/ +- /docker-cloud/infrastructure/docker-upgrade/ +- /docker-cloud/infrastructure/byoh/ +- /docker-cloud/infrastructure/cloud-on-packet.net-faq/ +- /docker-cloud/infrastructure/cloud-on-aws-faq/ +- /docker-cloud/standard/ +- /docker-cloud/getting-started/ +- /docker-cloud/getting-started/intro_cloud/ +- /docker-cloud/getting-started/connect-infra/ +- /docker-cloud/getting-started/your_first_node/ +- /docker-cloud/getting-started/your_first_service/ +- /docker-cloud/getting-started/deploy-app/1_introduction/ +- /docker-cloud/getting-started/deploy-app/2_set_up/ +- /docker-cloud/getting-started/deploy-app/3_prepare_the_app/ +- /docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry/ +- /docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service/ +- /docker-cloud/getting-started/deploy-app/6_define_environment_variables/ +- /docker-cloud/getting-started/deploy-app/7_scale_the_service/ +- /docker-cloud/getting-started/deploy-app/8_view_logs/ +- /docker-cloud/getting-started/deploy-app/9_load-balance_the_service/ +- /docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service/ +- /docker-cloud/getting-started/deploy-app/11_service_stacks/ +- /docker-cloud/getting-started/deploy-app/12_data_management_with_volumes/ +- /docker-cloud/apps/ +- /docker-cloud/apps/deploy-to-cloud-btn/ +- /docker-cloud/apps/auto-destroy/ +- /docker-cloud/apps/autorestart/ +- /docker-cloud/apps/auto-redeploy/ +- /docker-cloud/apps/load-balance-hello-world/ +- /docker-cloud/apps/deploy-tags/ +- /docker-cloud/apps/stacks/ +- /docker-cloud/apps/ports/ +- /docker-cloud/apps/service-redeploy/ +- /docker-cloud/apps/service-scaling/ +- /docker-cloud/apps/api-roles/ +- /docker-cloud/apps/service-links/ +- /docker-cloud/apps/triggers/ +- /docker-cloud/apps/volumes/ +- /docker-cloud/apps/stack-yaml-reference/ +- /docker-cloud/installing-cli/ +- /docker-cloud/docker-errors-faq/ +- /docker-cloud/release-notes/ +- /docker-store/ + --- [Docker Hub](https://hub.docker.com) is a service provided by Docker for finding and sharing container images with your team. diff --git a/docker-hub/official_repos.md b/docker-hub/official_images.md similarity index 99% rename from docker-hub/official_repos.md rename to docker-hub/official_images.md index 6d26711037..010968aff4 100644 --- a/docker-hub/official_repos.md +++ b/docker-hub/official_images.md @@ -2,6 +2,8 @@ description: Guidelines for Official Images on Docker Hub keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, official,image, documentation title: Official Images on Docker Hub +redirect_from: +- /docker-hub/official_repos/ --- The Docker [Official Images](https://hub.docker.com/search?q=&type=image&image_filter=official) are a diff --git a/docker-hub/orgs.md b/docker-hub/orgs.md index 754d078b6a..6270c18d4e 100644 --- a/docker-hub/orgs.md +++ b/docker-hub/orgs.md @@ -2,6 +2,8 @@ description: Docker Hub Teams and Organizations keywords: Docker, docker, registry, teams, organizations, plans, Dockerfile, Docker Hub, docs, documentation title: Organizations and teams in Docker Hub +redirect_from: +- /docker-cloud/orgs/ --- Docker Hub [organizations](https://hub.docker.com/organizations/) let you create diff --git a/docker-hub/publish/byol.md b/docker-hub/publish/byol.md index 6effb63d6d..6bc7f40fe7 100644 --- a/docker-hub/publish/byol.md +++ b/docker-hub/publish/byol.md @@ -2,6 +2,8 @@ description: Submit a product to be listed on Docker Hub keywords: Docker, docker, hub, purchase images title: Bring Your Own License (BYOL) products on Docker Hub +redirect_from: +- /docker-store/byol/ --- ## What is Bring Your Own License (BYOL)? diff --git a/docker-hub/publish/certify-images.md b/docker-hub/publish/certify-images.md index 0732c50636..2420fe2130 100644 --- a/docker-hub/publish/certify-images.md +++ b/docker-hub/publish/certify-images.md @@ -2,6 +2,8 @@ description: Run certification tests against your images keywords: Docker, docker, store, certified content, images title: Certify Docker images +redirect_from: +- /docker-store/certify-images/ --- ## Introduction diff --git a/docker-hub/publish/certify-plugins-logging.md b/docker-hub/publish/certify-plugins-logging.md index e04e2716b1..fd806ae7bd 100644 --- a/docker-hub/publish/certify-plugins-logging.md +++ b/docker-hub/publish/certify-plugins-logging.md @@ -2,6 +2,9 @@ description: Run certification tests against your images keywords: Docker, docker, hub, certified content, logging title: Certify Docker logging plugins +redirect_from: +- /docker-store/certify-plugins-logging/ + --- ## Introduction diff --git a/docker-hub/publish/customer_faq.md b/docker-hub/publish/customer_faq.md index a8b7c48570..cfffc601d2 100644 --- a/docker-hub/publish/customer_faq.md +++ b/docker-hub/publish/customer_faq.md @@ -2,6 +2,8 @@ description: Docker Hub frequently asked questions keywords: Docker, docker, store, purchase images title: Docker Hub Customer FAQs +redirect_from: +- /docker-store/customer_faq/ --- ## Customer FAQs diff --git a/docker-hub/publish/publish.md b/docker-hub/publish/publish.md index 7db0cac909..eb1003fa24 100644 --- a/docker-hub/publish/publish.md +++ b/docker-hub/publish/publish.md @@ -2,6 +2,8 @@ description: Submit a product for Docker Hub keywords: Docker, docker, hub, purchase images title: Publish content on Docker Hub +redirect_from: +- /docker-store/publish/ --- ## Permitted content and support options diff --git a/docker-hub/publish/publisher_faq.md b/docker-hub/publish/publisher_faq.md index 991c8309af..1dc72cf951 100644 --- a/docker-hub/publish/publisher_faq.md +++ b/docker-hub/publish/publisher_faq.md @@ -2,6 +2,9 @@ description: Docker Hub frequently asked questions keywords: Docker, docker, hub, purchase images title: Docker Hub Publisher FAQs +redirect_from: +- /docker-store/publisher_faq/ + --- ## Certification program diff --git a/docker-hub/publish/trustchain.md b/docker-hub/publish/trustchain.md index 3b13067ed8..14993831a3 100644 --- a/docker-hub/publish/trustchain.md +++ b/docker-hub/publish/trustchain.md @@ -1,13 +1,15 @@ --- title: Docker Hub Publisher Image Trust Chain keywords: trust, chain, store, security +redirect_from: +- /docker-store/trustchain/ --- ## For consumers -Docker ensures that all content is securely received and verified from original +Docker can ensure that all content is securely received and verified from original producers, and additionally audits images before adding them to the Docker -Store. Docker cryptographically signs the images upon completion of a +Hub. Docker cryptographically signs the images upon completion of a satisfactory image check, so that you can verify and trust certified content from the Docker Hub. diff --git a/docker-hub/slack_integration.md b/docker-hub/slack_integration.md new file mode 100644 index 0000000000..8afc939454 --- /dev/null +++ b/docker-hub/slack_integration.md @@ -0,0 +1,50 @@ +--- +description: Integrate Docker Hub with Slack +keywords: Slack, integrate, notifications +redirect_from: +- /docker-cloud/tutorials/slack-integration/ +- /docker-cloud/slack-integration/ +title: Set up Docker Hub notifications in Slack +--- + +Docker Hub can integrate with your **Slack** team to provide notifications about builds. + +## Set up a Slack integration + +Before you begin, make sure that you are signed into the Slack team that you want to show notifications in. + +1. Log in to the Docker account that owns the builds that you want to receive notifications about. + + > **Note**: If you are setting up notifications for an organization, log in as a member of the organization's `Owners` team, then switch to the organization account to change the settings. + +2. Click **Account Settings** in the left hand navigation, and scroll down to the **Notifications** section. + +3. Click the plug icon next to **Slack**. + + The Docker Hub page refreshes to show a Slack authorization screen. + +4. On the page that appears, double check that you're signed in to the correct Slack team. (If necessary sign in to the correct one.) +5. Select the channel that should receive notifications. +6. Click **Authorize**. + + Once you click **Authorize**, you should see a message in the Slack channel notifying you of the new integration. + + ![](images/slack-oauth-authorize.png) + + +Once configured, choose a notification level: + +* **Off** Do not receive any notifications. +* **Only failures** Only receive notifications about failed builds. +* **Everything** Receive notifications for both failed and successful builds. + ![](images/slack-notification-updates.png) + +Enjoy your new Slack channel integration! + +## Edit a Slack integration + +* Click **Account Settings** in the lower left, scroll down to **Notifications**, and locate the **Slack** section. From here you can choose a new notification level, or remove the integration. + +* From the Slack **Notifications** section you can also change the channel that the integration posts to. Click the reload icon (two arrows) next to the Slack integration to reopen the OAuth channel selector. + +* Alternately, go to the Slack App Management page and search for "Docker Hub". Click the result to see all of the Docker Hub notification channels set for the Slack team. diff --git a/docker-id/index.md b/docker-id/index.md index b96f298758..0de0d45497 100644 --- a/docker-id/index.md +++ b/docker-id/index.md @@ -2,6 +2,8 @@ description: Sign up for a Docker ID and log in keywords: accounts, docker ID, billing, paid plans, support, Hub, Store, Forums, knowledge base, beta access title: Docker ID accounts +redirect_from: +- /docker-cloud/dockerid/ --- Your free Docker ID grants you access to Docker Hub repositories, and some beta programs. All you need is an email address. diff --git a/get-started/part5.md b/get-started/part5.md index 2c7092d91b..353c0ee69c 100644 --- a/get-started/part5.md +++ b/get-started/part5.md @@ -286,6 +286,8 @@ Redis service. Be sure to replace `username/repo:tag` with your image details. ![Visualizer with redis screenshot](images/visualizer-with-redis.png) +[On to Part 6 >>](part6.md){: class="button outline-btn"} + ## Recap (optional) Here's [a terminal recording of what was covered on this page](https://asciinema.org/a/113840): @@ -298,24 +300,3 @@ You learned that to add more services to your stack, you insert them in your Compose file. Finally, you learned that by using a combination of placement constraints and volumes you can create a permanent home for persisting data, so that your app's data survives when the container is torn down and redeployed. - -## Congratulations! - -You've taken a full-stack, dev-to-deploy tour of the entire Docker platform. - -There is much more to the Docker platform than what was covered here, but you -have a good idea of the basics of containers, images, services, swarms, stacks, -scaling, load-balancing, volumes, and placement constraints. - -Want to go deeper? Here are some resources we recommend: - -- [Deploy your app](/ee): Deploy your app in a production environment using Docker Enterprise -- [Samples](/samples/): Our samples include multiple examples of popular software - running in containers, and some good labs that teach best practices. -- [User Guide](/engine/userguide/): The user guide has several examples that - explain networking and storage in greater depth than was covered here. -- [Admin Guide](/engine/admin/): Covers how to manage a Dockerized production - environment. -- [Training](https://training.docker.com/): Official Docker courses that offer - in-person instruction and virtual classroom environments. -- [Blog](https://blog.docker.com): Covers what's going on with Docker lately. diff --git a/get-started/part6.md b/get-started/part6.md index b3956442e6..7de3e078cc 100644 --- a/get-started/part6.md +++ b/get-started/part6.md @@ -32,7 +32,7 @@ Dockerized application. ## Choose an option -{% capture cloud %} +{% capture community %} To set up and deploy: @@ -190,7 +190,7 @@ you choose, or even edit the Compose file itself. Bringing your own server to Docker Enterprise and setting up Docker Datacenter essentially involves two steps: -1. [Get Docker Enterprise for your server's OS from Docker Store](https://store.docker.com/search?offering=enterprise&type=edition){: onclick="ga('send', 'event', 'Get Started Referral', 'Enterprise', 'Get Docker EE for your OS');"}. +1. [Get Docker Enterprise for your server's OS from Docker Hub](https://hub.docker.com/search?offering=enterprise&type=edition){: onclick="ga('send', 'event', 'Get Started Referral', 'Enterprise', 'Get Docker EE for your OS');"}. 2. Follow the [instructions to install Docker Enterprise on your own host](/datacenter/install/linux/){: onclick="ga('send', 'event', 'Get Started Referral', 'Enterprise', 'BYOH setup guide');"}. > **Note**: Running Windows containers? View our [Windows Server setup guide](/install/windows/docker-ee.md){: onclick="ga('send', 'event', 'Get Started Referral', 'Enterprise', 'Windows Server setup guide');"}. @@ -203,8 +203,8 @@ essentially involves two steps:
  • Docker Engine - Community
  • -
    {{ community }}
    -
    {{ enterprise }}
    +
    {{ enterprise }}
    +
    {{ community }}
    ## Congratulations!