mirror of https://github.com/docker/docs.git
Merge pull request #16338 from jerae-duffin/ENGDOCS-998
Created an overview for Hub
This commit is contained in:
commit
651ac1aac2
|
@ -1707,6 +1707,8 @@ manuals:
|
|||
- sectiontitle: Docker Hub
|
||||
section:
|
||||
- path: /docker-hub/
|
||||
title: Overview
|
||||
- path: /docker-hub/quickstart/
|
||||
title: Quickstart
|
||||
- path: /docker-id/
|
||||
title: Docker ID accounts
|
||||
|
|
|
@ -12,7 +12,7 @@ The order of precedence is as follows:
|
|||
1. Passed from the command line [`docker compose run --env <KEY[=[VAL]]>`](../../engine/reference/commandline/compose_run/#options).
|
||||
2. Passed from/set in `compose.yaml` service's configuration, from the [environment key](../../compose/compose-file/#environment).
|
||||
3. Passed from/set in `compose.yaml` service's configuration, from the [env_file key](../../compose/compose-file/#env_file).
|
||||
4. Passed from/set in Container Image in the [ENV directive](../../engine/reference/builder/#env).
|
||||
4. Passed from/set in Container Image in the [ENV directive](../engine/reference/builder.md#env).
|
||||
|
||||
### Example scenario
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ If you're just getting started developing a brand new app on Docker, check out
|
|||
these resources to understand some of the most common patterns for getting the
|
||||
most benefits from Docker.
|
||||
|
||||
- Learn how to [build an image](../engine/reference/builder/){: target="_blank" rel="noopener" class="_"} using a Dockerfile
|
||||
- Learn how to [build an image](../engine/reference/builder.md){: target="_blank" rel="noopener" class="_"} using a Dockerfile
|
||||
- Use [multi-stage builds](../build/building/multi-stage.md) to keep your images lean
|
||||
- Manage application data using [volumes](../storage/volumes.md) and [bind mounts](../storage/bind-mounts.md){: target="_blank" rel="noopener" class="_"}
|
||||
- [Scale your app with Kubernetes](../get-started/kube-deploy.md){: target="_blank" rel="noopener" class="_"}
|
||||
|
|
|
@ -1,84 +1,11 @@
|
|||
---
|
||||
description: Docker Hub Quickstart
|
||||
keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, accounts, organizations, repositories, groups, teams
|
||||
title: Docker Hub Quickstart
|
||||
redirect_from:
|
||||
- /docker-hub/overview/
|
||||
- /apidocs/docker-cloud/
|
||||
- /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/
|
||||
- /apidocs/
|
||||
- /apidocs/overview/
|
||||
description: Docker Hub overview
|
||||
keywords: Docker, docker, docker hub, hub, overview
|
||||
title: Overview
|
||||
---
|
||||
|
||||
[Docker Hub](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} is a service provided by Docker for
|
||||
finding and sharing container images with your team. It is the world’s largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors (ISV) building and distributing their code in containers.
|
||||
finding and sharing container images with your team. It's the world’s largest repository of container images with an array of content sources including container community developers, open source projects and independent software vendors (ISV) building and distributing their code in containers.
|
||||
|
||||
Users get access to free public repositories for storing and sharing images or can choose a [subscription plan](https://www.docker.com/pricing){: target="_blank" rel="noopener" class="_"} for private repositories.
|
||||
|
||||
|
@ -98,119 +25,69 @@ GitHub and Bitbucket and push them to Docker Hub.
|
|||
|
||||
Docker provides a [Docker Hub CLI](https://github.com/docker/hub-tool#readme){: target="_blank" rel="noopener" class="_"} tool (currently experimental) and an API that allows you to interact with Docker Hub. Browse through the [Docker Hub API](/docker-hub/api/latest/){: target="_blank" rel="noopener" class="_"} documentation to explore the supported endpoints.
|
||||
|
||||
The following section contains step-by-step instructions on how to easily get started with Docker Hub.
|
||||
<div class="component-container">
|
||||
<!--start row-->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-id/"><img src="/assets/images/laptop.svg" alt="Docker ID" width="70" height="70"></a>
|
||||
</div>
|
||||
<h2 id="docker-id"><a href="/docker-id/">Create a Docker ID </a></h2>
|
||||
<p>Sign up and create a new Docker ID</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-hub/repos/"><img src="/assets/images/explore.svg" alt="Docker Compose" width="70" height="70"></a>
|
||||
</div>
|
||||
<h2 id="docker-repos"><a href="/docker-hub/repos/">Create a repository</a></h2>
|
||||
<p>Create a repository to share your images with your team, customers, or Docker community. </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-hub/"><img src="/assets/images/checklist.svg" alt="quickstart" width="70" height="70"></a>
|
||||
</div>
|
||||
<h2 id="docker-hub"><a href="/docker-hub/">Quickstart</a></h2>
|
||||
<p>Step-by-step instructions on getting started on Docker Hub.</p>
|
||||
</div>
|
||||
</div>
|
||||
<!--start row-->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-hub/access-tokens">
|
||||
<img src="/assets/images/secure.svg" alt="secure" width="70px" height="70px">
|
||||
</a>
|
||||
</div>
|
||||
<h2 id="docker-hub"><a href="/docker-hub/access-tokens">Manage access tokens</a></h2>
|
||||
<p>Create personal access tokens as an alternative to your password.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-hub/official_images"><img src="/assets/images/build-multi-platform.svg" alt="Stacked windows" alt="Staircase" width="70px" height="70px"></a>
|
||||
</div>
|
||||
<h2 id="docker-hub"><a href="/docker-hub/official_images">Official images</a></h2>
|
||||
<p>A curated set of Docker repositories hosted on Docker Hub.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-4 block">
|
||||
<div class="component">
|
||||
<div class="component-icon">
|
||||
<a href="/docker-hub/"><img src="/assets/images/note-add.svg" alt="Release notes" width="70" height="70"></a>
|
||||
</div>
|
||||
<h2 id="docker-release-notes"><a href="/docker-hub/release-notes/">Release notes</a></h2>
|
||||
<p>Find out about new features, improvements, and bug fixes.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### Step 1: Sign up for a Docker account
|
||||
|
||||
Let's start by creating a [Docker ID](https://hub.docker.com/signup){: target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
A Docker ID grants you access to Docker Hub repositories and allows you to explore images that are available from the community and verified publishers. You'll also need a Docker ID to share images on Docker Hub.
|
||||
|
||||
### Step 2: Create your first repository
|
||||
|
||||
To create a repository:
|
||||
|
||||
1. Sign in to [Docker Hub](https://hub.docker.com){: target="_blank" rel="noopener" class="_"}.
|
||||
2. Click **Create a Repository** on the Docker Hub welcome page.
|
||||
3. Name it **<your-username>/my-private-repo**.
|
||||
4. Set the visibility to **Private**.
|
||||
|
||||

|
||||
|
||||
5. Click **Create**.
|
||||
|
||||
You've created your first repository. You should see:
|
||||
|
||||

|
||||
|
||||
### Step 3: Download and install Docker Desktop
|
||||
|
||||
You'll need to download Docker Desktop to build, push, and pull container images.
|
||||
|
||||
1. Download and install [Docker Desktop](../desktop/index.md).
|
||||
|
||||
2. Sign in to the Docker Desktop application using the Docker ID you've just created.
|
||||
|
||||
### Step 4: Pull and run a container image from Docker Hub
|
||||
|
||||
1. Run `docker pull hello-world` to pull the image from Docker Hub. You should see output similar to:
|
||||
|
||||
```console
|
||||
$ docker pull hello-world
|
||||
Using default tag: latest
|
||||
latest: Pulling from library/hello-world
|
||||
2db29710123e: Pull complete
|
||||
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
|
||||
Status: Downloaded newer image for hello-world:latest
|
||||
docker.io/library/hello-world:latest
|
||||
```
|
||||
|
||||
2. Run `docker run hello-world` to run the image locally. You should see output similar to:
|
||||
|
||||
```console
|
||||
$ docker run hello-world
|
||||
Hello from Docker!
|
||||
This message shows that your installation appears to be working correctly.
|
||||
|
||||
To generate this message, Docker took the following steps:
|
||||
1. The Docker client contacted the Docker daemon.
|
||||
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
|
||||
(amd64)
|
||||
3. The Docker daemon created a new container from that image which runs the
|
||||
executable that produces the output you are currently reading.
|
||||
4. The Docker daemon streamed that output to the Docker client, which sent
|
||||
it to your terminal.
|
||||
|
||||
To try something more ambitious, you can run an Ubuntu container with:
|
||||
$ docker run -it ubuntu bash
|
||||
|
||||
Share images, automate workflows, and more with a free Docker ID:
|
||||
https://hub.docker.com/
|
||||
|
||||
For more examples and ideas, visit:
|
||||
https://docs.docker.com/get-started/
|
||||
```
|
||||
|
||||
### Step 5: Build and push a container image to Docker Hub from your computer
|
||||
|
||||
1. Start by creating a [Dockerfile](../engine/reference/builder/) to specify your application as shown below:
|
||||
|
||||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM busybox
|
||||
CMD echo "Hello world! This is my first Docker image."
|
||||
```
|
||||
|
||||
2. Run `docker build -t <your_username>/my-private-repo .` to build your Docker
|
||||
image.
|
||||
|
||||
3. Run `docker run <your_username>/my-private-repo` to test your
|
||||
Docker image locally.
|
||||
|
||||
4. Run `docker push <your_username>/my-private-repo` to push your Docker image to Docker Hub. You should see output similar to:
|
||||
|
||||

|
||||
|
||||
>**Note**
|
||||
>
|
||||
> You must be signed in to Docker Hub through Docker Desktop or the command line, and you must also name your images correctly, as per the above steps.
|
||||
|
||||
5. Your repository in Docker Hub should now display a new `latest` tag under **Tags**:
|
||||
|
||||

|
||||
|
||||
Congratulations! You've successfully:
|
||||
|
||||
- Signed up for a Docker account
|
||||
- Created your first repository
|
||||
- Pulled an existing container image from Docker Hub
|
||||
- Built your own container image on your computer
|
||||
- Pushed it successfully to Docker Hub
|
||||
|
||||
### Next steps
|
||||
|
||||
- Create an [organization](orgs.md) to use Docker Hub with your team.
|
||||
- Automatically build container images from code through [builds](builds/index.md).
|
||||
- [Explore](https://hub.docker.com/explore) official & publisher images.
|
||||
- [Upgrade your subscription](https://www.docker.com/pricing) to push additional private Docker images to
|
||||
Docker Hub.
|
||||
|
|
|
@ -0,0 +1,194 @@
|
|||
---
|
||||
description: Docker Hub Quickstart
|
||||
keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, accounts, organizations, repositories, groups, teams
|
||||
title: Docker Hub Quickstart
|
||||
redirect_from:
|
||||
- /apidocs/docker-cloud/
|
||||
- /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/
|
||||
- /apidocs/
|
||||
- /apidocs/overview/
|
||||
---
|
||||
|
||||
The following section contains step-by-step instructions on how to easily get started with Docker Hub.
|
||||
|
||||
### Step 1: Sign up for a Docker account
|
||||
|
||||
Let's start by creating a [Docker ID](https://hub.docker.com/signup){: target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
A Docker ID grants you access to Docker Hub repositories and allows you to explore images that are available from the community and verified publishers. You'll also need a Docker ID to share images on Docker Hub.
|
||||
|
||||
### Step 2: Create your first repository
|
||||
|
||||
To create a repository:
|
||||
|
||||
1. Sign in to [Docker Hub](https://hub.docker.com){: target="_blank" rel="noopener" class="_"}.
|
||||
2. Click **Create a Repository** on the Docker Hub welcome page.
|
||||
3. Name it **<your-username>/my-private-repo**.
|
||||
4. Set the visibility to **Private**.
|
||||
|
||||

|
||||
|
||||
5. Click **Create**.
|
||||
|
||||
You've created your first repository. You should see:
|
||||
|
||||

|
||||
|
||||
### Step 3: Download and install Docker Desktop
|
||||
|
||||
You'll need to download Docker Desktop to build, push, and pull container images.
|
||||
|
||||
1. Download and install [Docker Desktop](../desktop/index.md).
|
||||
|
||||
2. Sign in to the Docker Desktop application using the Docker ID you've just created.
|
||||
|
||||
### Step 4: Pull and run a container image from Docker Hub
|
||||
|
||||
1. Run `docker pull hello-world` to pull the image from Docker Hub. You should see output similar to:
|
||||
|
||||
```console
|
||||
$ docker pull hello-world
|
||||
Using default tag: latest
|
||||
latest: Pulling from library/hello-world
|
||||
2db29710123e: Pull complete
|
||||
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
|
||||
Status: Downloaded newer image for hello-world:latest
|
||||
docker.io/library/hello-world:latest
|
||||
```
|
||||
|
||||
2. Run `docker run hello-world` to run the image locally. You should see output similar to:
|
||||
|
||||
```console
|
||||
$ docker run hello-world
|
||||
Hello from Docker!
|
||||
This message shows that your installation appears to be working correctly.
|
||||
|
||||
To generate this message, Docker took the following steps:
|
||||
1. The Docker client contacted the Docker daemon.
|
||||
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
|
||||
(amd64)
|
||||
3. The Docker daemon created a new container from that image which runs the
|
||||
executable that produces the output you are currently reading.
|
||||
4. The Docker daemon streamed that output to the Docker client, which sent
|
||||
it to your terminal.
|
||||
|
||||
To try something more ambitious, you can run an Ubuntu container with:
|
||||
$ docker run -it ubuntu bash
|
||||
|
||||
Share images, automate workflows, and more with a free Docker ID:
|
||||
https://hub.docker.com/
|
||||
|
||||
For more examples and ideas, visit:
|
||||
https://docs.docker.com/get-started/
|
||||
```
|
||||
|
||||
### Step 5: Build and push a container image to Docker Hub from your computer
|
||||
|
||||
1. Start by creating a [Dockerfile](../engine/reference/builder.md) to specify your application as shown below:
|
||||
|
||||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM busybox
|
||||
CMD echo "Hello world! This is my first Docker image."
|
||||
```
|
||||
|
||||
2. Run `docker build -t <your_username>/my-private-repo .` to build your Docker
|
||||
image.
|
||||
|
||||
3. Run `docker run <your_username>/my-private-repo` to test your
|
||||
Docker image locally.
|
||||
|
||||
4. Run `docker push <your_username>/my-private-repo` to push your Docker image to Docker Hub. You should see output similar to:
|
||||
|
||||

|
||||
|
||||
>**Note**
|
||||
>
|
||||
> You must be signed in to Docker Hub through Docker Desktop or the command line, and you must also name your images correctly, as per the above steps.
|
||||
|
||||
5. Your repository in Docker Hub should now display a new `latest` tag under **Tags**:
|
||||
|
||||

|
||||
|
||||
Congratulations! You've successfully:
|
||||
|
||||
- Signed up for a Docker account
|
||||
- Created your first repository
|
||||
- Pulled an existing container image from Docker Hub
|
||||
- Built your own container image on your computer
|
||||
- Pushed it successfully to Docker Hub
|
||||
|
||||
### Next steps
|
||||
|
||||
- Create an [organization](orgs.md) to use Docker Hub with your team.
|
||||
- Automatically build container images from code through [builds](builds/index.md).
|
||||
- [Explore](https://hub.docker.com/explore) official & publisher images.
|
||||
- [Upgrade your subscription](https://www.docker.com/pricing) to push additional private Docker images to
|
||||
Docker Hub.
|
Loading…
Reference in New Issue