diff --git a/content/admin/images/org-structure.webp b/content/admin/images/org-structure.webp new file mode 100644 index 0000000000..793b7db377 Binary files /dev/null and b/content/admin/images/org-structure.webp differ diff --git a/content/develop/dev-best-practices.md b/content/develop/dev-best-practices.md index 4cf18ead3b..7dc3309677 100644 --- a/content/develop/dev-best-practices.md +++ b/content/develop/dev-best-practices.md @@ -57,17 +57,17 @@ keep image size small: - When building images, always tag them with useful tags which codify version information, intended destination (`prod` or `test`, for instance), stability, - or other information that is useful when deploying the application in - different environments. Do not rely on the automatically-created `latest` tag. + or other information that's useful when deploying the application in + different environments. Don't rely on the automatically-created `latest` tag. ## Where and how to persist application data -- **Avoid** storing application data in your container's writable layer using +- Avoid storing application data in your container's writable layer using [storage drivers](../storage/storagedriver/select-storage-driver.md). This increases the size of your container and is less efficient from an I/O perspective than using volumes or bind mounts. - Instead, store data using [volumes](../storage/volumes.md). -- One case where it is appropriate to use +- One case where it's appropriate to use [bind mounts](../storage/bind-mounts.md) is during development, when you may want to mount your source directory or a binary you just built into your container. For production, use a volume instead, mounting it into @@ -88,7 +88,7 @@ keep image size small: - Take this even further by requiring your development, testing, and security teams to [sign images](../engine/reference/commandline/trust.md) - before they are deployed into production. This way, before an image is + before the teams deploy the images into production. This way, before an image is deployed into production, it has been tested and signed off by, for instance, development, quality, and security teams. diff --git a/content/develop/develop-images/instructions.md b/content/develop/develop-images/instructions.md index eebf73281d..ce4860e808 100644 --- a/content/develop/develop-images/instructions.md +++ b/content/develop/develop-images/instructions.md @@ -228,7 +228,7 @@ so on. For external access, your users can execute `docker run` with a flag indicating how to map the specified port to the port of their choice. For container linking, Docker provides environment variables for the path from -the recipient container back to the source (ie, `MYSQL_PORT_3306_TCP`). +the recipient container back to the source (for example, `MYSQL_PORT_3306_TCP`). For more information about `EXPOSE`, see [Dockerfile reference for the EXPOSE instruction](../../engine/reference/builder.md#expose). @@ -240,7 +240,7 @@ example, `ENV PATH=/usr/local/nginx/bin:$PATH` ensures that `CMD ["nginx"]` just works. The `ENV` instruction is also useful for providing the required environment -variables specific to services you wish to containerize, such as Postgres’s +variables specific to services you want to containerize, such as Postgres’s `PGDATA`. Lastly, `ENV` can also be used to set commonly used version numbers so that @@ -427,7 +427,7 @@ ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["postgres"] ``` -This script allows the user to interact with Postgres in several ways. +This script lets you interact with Postgres in several ways. It can simply start Postgres: @@ -435,13 +435,13 @@ It can simply start Postgres: $ docker run postgres ``` -Or, it can be used to run Postgres and pass parameters to the server: +Or, you can use it to run Postgres and pass parameters to the server: ```console $ docker run postgres postgres --help ``` -Lastly, it could also be used to start a totally different tool, such as Bash: +Lastly, you can use it to start a totally different tool, such as Bash: ```console $ docker run --rm -it postgres bash @@ -451,7 +451,7 @@ For more information about `ENTRYPOINT`, see [Dockerfile reference for the ENTRY ### VOLUME -The `VOLUME` instruction should be used to expose any database storage area, +YOu should use the `VOLUME` instruction to expose any database storage area, configuration storage, or files and folders created by your Docker container. You are strongly encouraged to use `VOLUME` for any combination of mutable or user-serviceable parts of your image. diff --git a/content/develop/images/hub-official-images.png b/content/develop/images/hub-official-images.png deleted file mode 100644 index 933518a077..0000000000 Binary files a/content/develop/images/hub-official-images.png and /dev/null differ diff --git a/content/develop/images/hub-official-images.webp b/content/develop/images/hub-official-images.webp new file mode 100644 index 0000000000..b767d169ec Binary files /dev/null and b/content/develop/images/hub-official-images.webp differ diff --git a/content/develop/images/telepresence-architecture.png b/content/develop/images/telepresence-architecture.png deleted file mode 100644 index e13b8916bd..0000000000 Binary files a/content/develop/images/telepresence-architecture.png and /dev/null differ diff --git a/content/develop/security-best-practices.md b/content/develop/security-best-practices.md index fad50d827e..c08344158c 100644 --- a/content/develop/security-best-practices.md +++ b/content/develop/security-best-practices.md @@ -12,7 +12,7 @@ container. This includes: 1. [Choosing the right base image](#choose-the-right-base-image) from a trusted source and keeping it small 2. [Using multi-stage builds](#use-multi-stage-builds) 3. [Rebuilding images](#rebuild-images) -4. [Check your image for vulnerabilities](#check-your-image-for-vulnerabilities) +4. [Checking your image for vulnerabilities](#check-your-image-for-vulnerabilities) ### Choose the right base image @@ -30,7 +30,7 @@ Docker verifying the authenticity of the content in their repositories. When you pick your base image, look out for the **Official Image** and **Verified Publisher** badges. -![Docker Hub Official and Verified Publisher images](images/hub-official-images.png) +![Docker Hub Official and Verified Publisher images](images/hub-official-images.webp) When building your own image from a Dockerfile, ensure you choose a minimal base image that matches your requirements. A smaller base image not only offers @@ -58,7 +58,7 @@ image. This can result in a concise final image. This method of creating a tiny image doesn't only significantly reduce complexity, but also reduces the chance of implementing vulnerable artifacts in your image. Therefore, instead of images that are built on images, that again are -built on other images, multi-stage builds allow you to 'cherry pick' your +built on other images, multi-stage builds let you 'cherry pick' your artifacts without inheriting the vulnerabilities from the base images on which they rely. @@ -68,7 +68,7 @@ For detailed information on how to configure multi-stage builds, see ### Rebuild images A Docker image is built from a Dockerfile. A Dockerfile contains a set of -instructions which allows you to automate the steps you would normally +instructions which lets you automate the steps you would normally (manually) take to create an image. Additionally, it can include some imported libraries and install custom software. These appear as instructions in the Dockerfile. @@ -86,7 +86,7 @@ FROM ubuntu:latest RUN apt-get -y update && apt-get install -y python ``` -We recommend that you rebuild your Docker image regularly to prevent known +Docker recommends that you rebuild your Docker image regularly to prevent known vulnerabilities that have been addressed. When rebuilding, use the option `--no-cache` to avoid cache hits and to ensure a fresh download. diff --git a/content/docker-hub/download-rate-limit.md b/content/docker-hub/download-rate-limit.md index 7b4e49feba..e152f352c8 100644 --- a/content/docker-hub/download-rate-limit.md +++ b/content/docker-hub/download-rate-limit.md @@ -14,14 +14,14 @@ Docker Hub limits the number of Docker image downloads, or pulls, based on the a | [Authenticated users](#how-do-i-authenticate-pull-requests)| 200 pulls per 6 hour period | | Users with a paid [Docker subscription](https://www.docker.com/pricing) | Up to 5000 pulls per day | -If you require a higher number of pulls, you can also purchase an [Enhanced Service Account add-on](service-accounts.md#enhanced-service-account-add-on-pricing). +If you require a higher number of pulls, you can also buy an [Enhanced Service Account add-on](service-accounts.md#enhanced-service-account-add-on-pricing). ## Definition of limits A user's limit is equal to the highest entitlement of their personal account or any organization they belong to. To take -advantage of this, you must log in to +advantage of this, you must sign in to [Docker Hub](https://hub.docker.com/) as an authenticated user. For more information, see [How do I authenticate pull requests](#how-do-i-authenticate-pull-requests). @@ -89,7 +89,7 @@ ratelimit-remaining: 76;w=21600 docker-ratelimit-source: 192.0.2.1 ``` -In the example above, the pull limit is 100 pulls per 21600 seconds (6 hours), and there are 76 pulls remaining. +In the previous example, the pull limit is 100 pulls per 21600 seconds (6 hours), and there are 76 pulls remaining. ### I don't see any RateLimit headers diff --git a/content/docker-hub/repos/access/_index.md b/content/docker-hub/repos/access.md similarity index 100% rename from content/docker-hub/repos/access/_index.md rename to content/docker-hub/repos/access.md diff --git a/content/docker-hub/repos/create.md b/content/docker-hub/repos/create.md index cd3e6aacb4..8fdacf9331 100644 --- a/content/docker-hub/repos/create.md +++ b/content/docker-hub/repos/create.md @@ -61,7 +61,7 @@ Once you have created a repository, you can start using `docker push` to push images. To push an image to Docker Hub, you must first name your local image using your -Docker Hub username and the repository name that you created. +Docker ID and the repository name that you created. 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`. diff --git a/content/docker-id/_index.md b/content/docker-id/_index.md index c352497d7d..d222408520 100644 --- a/content/docker-id/_index.md +++ b/content/docker-id/_index.md @@ -82,10 +82,10 @@ Optionally, you can sign in to an existing Docker account with your Google or Gi If you try to sign in with your social provider and don't have a Docker account yet, a new account will be created for you. Follow the on-screen instructions to create a Docker ID using your social provider. +## Reset your password at sign in + +To reset your password, enter your email address on the [Sign in](https://login.docker.com/u/login) page and continue to sign in. When prompted for your password, select **Forgot password?**. + ## Troubleshooting -If you run into trouble with your Docker ID account, know that we're here to help! If you want to retrieve or reset your password, [enter your email address](https://login.docker.com/u/login) for additional instructions. - -You can use the [Docker forums](https://forums.docker.com/) to ask questions amongst other Docker community members, while our [hub-feedback GitHub repository](https://github.com/docker/hub-feedback) allows you to provide feedback on how we can better improve the experience with Docker Hub. - -If you still need any help, [create a support ticket](https://hub.docker.com/support/contact/) and let us know how we can help you. \ No newline at end of file +For support and troubleshooting information, see [Get support](../support.md). \ No newline at end of file diff --git a/content/get-started/02_our_app.md b/content/get-started/02_our_app.md index 39b9f38640..7c51ef7b9a 100644 --- a/content/get-started/02_our_app.md +++ b/content/get-started/02_our_app.md @@ -137,7 +137,7 @@ Now that you have an image, you can run the application in a container using the 2. After a few seconds, open your web browser to [http://localhost:3000](http://localhost:3000). You should see your app. - ![Empty todo list](images/todo-list-empty.png) + ![Empty todo list](images/todo-list-empty.webp) 3. Add an item or two and see that it works as you expect. You can mark items as complete and remove them. Your frontend is successfully storing items in the backend. @@ -166,7 +166,7 @@ df784548666d getting-started "docker-entrypoint.s…" 2 minutes ago In Docker Desktop, select the **Containers** tab to see a list of your containers. -![Docker Desktop with get-started container running](images/dashboard-two-containers.png) +![Docker Desktop with get-started container running](images/dashboard-two-containers.webp) {{< /tab >}} {{< /tabs >}} diff --git a/content/get-started/04_sharing_app.md b/content/get-started/04_sharing_app.md index ecaa3aca3c..709fa656bb 100644 --- a/content/get-started/04_sharing_app.md +++ b/content/get-started/04_sharing_app.md @@ -29,7 +29,7 @@ To push an image, you first need to create a repository on Docker Hub. In the following image, you can see an example Docker command from Docker Hub. This command will push to this repository. -![Docker command with push example](images/push-command.png) +![Docker command with push example](images/push-command.webp) ## Push the image @@ -89,7 +89,7 @@ new instance that has never seen this container image. To do this, you will use 4. Select the **ADD NEW INSTANCE** option on the left side bar. If you don't see it, make your browser a little wider. After a few seconds, a terminal window opens in your browser. - ![Play with Docker add new instance](images/pwd-add-new-instance.png) + ![Play with Docker add new instance](images/pwd-add-new-instance.webp) 5. In the terminal, start your freshly pushed app. diff --git a/content/get-started/05_persisting_data.md b/content/get-started/05_persisting_data.md index 3afee52eb6..676539750e 100644 --- a/content/get-started/05_persisting_data.md +++ b/content/get-started/05_persisting_data.md @@ -163,7 +163,7 @@ To start the todo app container with the volume mounted: 1. Once the container starts up, open the app and add a few items to your todo list. - ![Items added to todo list](images/items-added.png) + ![Items added to todo list](images/items-added.webp) 2. Stop and remove the container for the todo app. Use Docker Desktop or `docker ps` to get the ID and then `docker rm -f ` to remove it. diff --git a/content/get-started/06_bind_mounts.md b/content/get-started/06_bind_mounts.md index 66f0d87414..ca827be504 100644 --- a/content/get-started/06_bind_mounts.md +++ b/content/get-started/06_bind_mounts.md @@ -320,7 +320,7 @@ Update your app on your host machine and see the changes reflected in the contai restarts the server. It might take a few seconds for the Node server to restart. If you get an error, try refreshing after a few seconds. - ![Screenshot of updated label for Add button](images/updated-add-button.png) + ![Screenshot of updated label for Add button](images/updated-add-button.webp) 3. Feel free to make any other changes you'd like to make. Each time you make a change and save a file, the change is reflected in the container because of diff --git a/content/get-started/07_multi_container.md b/content/get-started/07_multi_container.md index d77b87423f..c5e368ee6f 100644 --- a/content/get-started/07_multi_container.md +++ b/content/get-started/07_multi_container.md @@ -17,7 +17,7 @@ container or run it separately?" In general, each container should do one thing And there are more reasons. So, like the following diagram, it's best to run your app in multiple containers. -![Todo App connected to MySQL container](images/multi-container.png?w=350h=250) +![Todo App connected to MySQL container](images/multi-container.webp?w=350h=250) ## Container networking diff --git a/content/get-started/images/dashboard-two-containers.png b/content/get-started/images/dashboard-two-containers.png deleted file mode 100644 index daeb0ea655..0000000000 Binary files a/content/get-started/images/dashboard-two-containers.png and /dev/null differ diff --git a/content/get-started/images/dashboard-two-containers.webp b/content/get-started/images/dashboard-two-containers.webp new file mode 100644 index 0000000000..5e657ca56d Binary files /dev/null and b/content/get-started/images/dashboard-two-containers.webp differ diff --git a/content/get-started/images/docker-architecture.png b/content/get-started/images/docker-architecture.png deleted file mode 100644 index d21b42a833..0000000000 Binary files a/content/get-started/images/docker-architecture.png and /dev/null differ diff --git a/content/get-started/images/docker-architecture.webp b/content/get-started/images/docker-architecture.webp new file mode 100644 index 0000000000..695c1be7bb Binary files /dev/null and b/content/get-started/images/docker-architecture.webp differ diff --git a/content/get-started/images/items-added.png b/content/get-started/images/items-added.png deleted file mode 100644 index 9cddfb5078..0000000000 Binary files a/content/get-started/images/items-added.png and /dev/null differ diff --git a/content/get-started/images/items-added.webp b/content/get-started/images/items-added.webp new file mode 100644 index 0000000000..10c0d347b4 Binary files /dev/null and b/content/get-started/images/items-added.webp differ diff --git a/content/get-started/images/multi-container.png b/content/get-started/images/multi-container.png deleted file mode 100644 index e67b1bb212..0000000000 Binary files a/content/get-started/images/multi-container.png and /dev/null differ diff --git a/content/get-started/images/multi-container.webp b/content/get-started/images/multi-container.webp new file mode 100644 index 0000000000..e8b5b9ea77 Binary files /dev/null and b/content/get-started/images/multi-container.webp differ diff --git a/content/get-started/images/push-command.png b/content/get-started/images/push-command.png deleted file mode 100644 index 0b0a2df775..0000000000 Binary files a/content/get-started/images/push-command.png and /dev/null differ diff --git a/content/get-started/images/push-command.webp b/content/get-started/images/push-command.webp new file mode 100644 index 0000000000..0d2b25a25b Binary files /dev/null and b/content/get-started/images/push-command.webp differ diff --git a/content/get-started/images/pwd-add-new-instance.png b/content/get-started/images/pwd-add-new-instance.png deleted file mode 100644 index 944e28616c..0000000000 Binary files a/content/get-started/images/pwd-add-new-instance.png and /dev/null differ diff --git a/content/get-started/images/pwd-add-new-instance.webp b/content/get-started/images/pwd-add-new-instance.webp new file mode 100644 index 0000000000..cfb827ead2 Binary files /dev/null and b/content/get-started/images/pwd-add-new-instance.webp differ diff --git a/content/get-started/images/todo-list-empty.png b/content/get-started/images/todo-list-empty.png deleted file mode 100644 index 81fa302e20..0000000000 Binary files a/content/get-started/images/todo-list-empty.png and /dev/null differ diff --git a/content/get-started/images/todo-list-empty.webp b/content/get-started/images/todo-list-empty.webp new file mode 100644 index 0000000000..c4956bc64e Binary files /dev/null and b/content/get-started/images/todo-list-empty.webp differ diff --git a/content/get-started/images/todo-list-sample.png b/content/get-started/images/todo-list-sample.png deleted file mode 100644 index 681f2ad31c..0000000000 Binary files a/content/get-started/images/todo-list-sample.png and /dev/null differ diff --git a/content/get-started/images/todo-list-updated-empty-text.png b/content/get-started/images/todo-list-updated-empty-text.png deleted file mode 100644 index 7017b68de8..0000000000 Binary files a/content/get-started/images/todo-list-updated-empty-text.png and /dev/null differ diff --git a/content/get-started/images/updated-add-button.png b/content/get-started/images/updated-add-button.png deleted file mode 100644 index cce7a050e9..0000000000 Binary files a/content/get-started/images/updated-add-button.png and /dev/null differ diff --git a/content/get-started/images/updated-add-button.webp b/content/get-started/images/updated-add-button.webp new file mode 100644 index 0000000000..9003a52a8c Binary files /dev/null and b/content/get-started/images/updated-add-button.webp differ diff --git a/content/get-started/images/vid-get-started-pmckee.png b/content/get-started/images/vid-get-started-pmckee.png deleted file mode 100644 index 518e9df8b6..0000000000 Binary files a/content/get-started/images/vid-get-started-pmckee.png and /dev/null differ diff --git a/content/get-started/kube-deploy.md b/content/get-started/kube-deploy.md index abc2ccd740..f1a8f69036 100644 --- a/content/get-started/kube-deploy.md +++ b/content/get-started/kube-deploy.md @@ -13,15 +13,15 @@ description: Learn how to describe and deploy a simple application on Kubernetes ## Introduction -Now that we've demonstrated that the individual components of our application run as stand-alone containers, it's time to arrange for them to be managed by an orchestrator like Kubernetes. Kubernetes provides many tools for scaling, networking, securing and maintaining your containerized applications, above and beyond the abilities of containers themselves. +Now that you've demonstrated that the individual components of your application run as stand-alone containers, it's time to arrange for them to be managed by an orchestrator like Kubernetes. Kubernetes provides many tools for scaling, networking, securing and maintaining your containerized applications, above and beyond the abilities of containers themselves. -In order to validate that our containerized application works well on Kubernetes, we'll use Docker Desktop's built in Kubernetes environment right on our development machine to deploy our application, before handing it off to run on a full Kubernetes cluster in production. The Kubernetes environment created by Docker Desktop is _fully featured_, meaning it has all the Kubernetes features your app will enjoy on a real cluster, accessible from the convenience of your development machine. +In order to validate that your containerized application works well on Kubernetes, you'll use Docker Desktop's built in Kubernetes environment right on your development machine to deploy your application, before handing it off to run on a full Kubernetes cluster in production. The Kubernetes environment created by Docker Desktop is _fully featured_, meaning it has all the Kubernetes features your app will enjoy on a real cluster, accessible from the convenience of your development machine. ## Describing apps using Kubernetes YAML -All containers in Kubernetes are scheduled as pods, which are groups of co-located containers that share some resources. Furthermore, in a realistic application we almost never create individual pods. Instead, most of our workloads are scheduled as deployments, which are scalable groups of pods maintained automatically by Kubernetes. Lastly, all Kubernetes objects can and should be described in manifests called Kubernetes YAML files. These YAML files describe all the components and configurations of your Kubernetes app, and can be used to easily create and destroy your app in any Kubernetes environment. +All containers in Kubernetes are scheduled as pods, which are groups of co-located containers that share some resources. Furthermore, in a realistic application you almost never create individual pods. Instead, most of your workloads are scheduled as deployments, which are scalable groups of pods maintained automatically by Kubernetes. Lastly, all Kubernetes objects can and should be described in manifests called Kubernetes YAML files. These YAML files describe all the components and configurations of your Kubernetes app, and can be used to create and destroy your app in any Kubernetes environment. -You already wrote a very basic Kubernetes YAML file in the Orchestration overview part of this tutorial. Now, let's write a slightly more sophisticated YAML file to run and manage our Todo app, the container `getting-started` image created in [Part 2](02_our_app.md) of the Quickstart tutorial. Place the following in a file called `bb.yaml`: +You already wrote a basic Kubernetes YAML file in the Orchestration overview part of this tutorial. Now, you can write a slightly more sophisticated YAML file to run and manage your Todo app, the container `getting-started` image created in [Part 2](02_our_app.md) of the Quickstart tutorial. Place the following in a file called `bb.yaml`: ```yaml apiVersion: apps/v1 @@ -59,7 +59,7 @@ spec: nodePort: 30001 ``` -In this Kubernetes YAML file, we have two objects, separated by the `---`: +In this Kubernetes YAML file, there are two objects, separated by the `---`: - A `Deployment`, describing a scalable group of identical pods. In this case, you'll get just one `replica`, or copy of your pod, and that pod (which is described under the `template:` key) has just one container in it, based off of your `getting-started` image from the previous step in this tutorial. - A `NodePort` service, which will route traffic from port 30001 on your host to port 3000 inside the pods it routes to, allowing you to reach your Todo app from the network. @@ -109,7 +109,7 @@ In this Kubernetes YAML file, we have two objects, separated by the `---`: In addition to the default `kubernetes` service, we see our `bb-entrypoint` service, accepting traffic on port 30001/TCP. -3. Open a browser and visit your Todo app at `localhost:30001`. You should see your Todo application, the same as when we ran it as a stand-alone container in [Part 2](02_our_app.md) of the Quickstart tutorial. +3. Open a browser and visit your Todo app at `localhost:30001`. You should see your Todo application, the same as when you ran it as a stand-alone container in [Part 2](02_our_app.md) of the tutorial. 4. Once satisfied, tear down your application: @@ -119,9 +119,9 @@ In this Kubernetes YAML file, we have two objects, separated by the `---`: ## Conclusion -At this point, we have successfully used Docker Desktop to deploy our application to a fully-featured Kubernetes environment on our development machine. You can now add other components to your app and taking advantage of all the features and power of Kubernetes, right on your own machine. +At this point, you have successfully used Docker Desktop to deploy your application to a fully-featured Kubernetes environment on your development machine. You can now add other components to your app and taking advantage of all the features and power of Kubernetes, right on your own machine. -In addition to deploying to Kubernetes, we have also described our application as a Kubernetes YAML file. This simple text file contains everything we need to create our application in a running state. We can check it into version control and share it with our colleagues, allowing us to distribute our applications to other clusters (like the testing and production clusters that probably come after our development environments) easily. +In addition to deploying to Kubernetes, you have also described your application as a Kubernetes YAML file. This simple text file contains everything you need to create your application in a running state. You can check it in to version control and share it with your colleagues. This let you distribute your applications to other clusters (like the testing and production clusters that probably come after your development environments). ## Kubernetes references diff --git a/content/get-started/orchestration.md b/content/get-started/orchestration.md index 6e5737752b..3252db64a1 100644 --- a/content/get-started/orchestration.md +++ b/content/get-started/orchestration.md @@ -6,8 +6,8 @@ description: Get oriented on some basics of Docker and install Docker Desktop. Containerization provides an opportunity to move and scale applications to clouds and data centers. Containers effectively guarantee that those applications run the -same way anywhere, allowing us to quickly and easily take advantage of all -these environments. Additionally, as we scale our applications up, we need some +same way anywhere, allowing you to quickly and easily take advantage of all +these environments. Additionally, as you scale your applications up, you need some tooling to help automate the maintenance of those applications, enable the replacement of failed containers automatically, and manage the roll-out of updates and reconfigurations of those containers during their lifecycle. diff --git a/content/get-started/overview.md b/content/get-started/overview.md index f715702728..e491d339af 100644 --- a/content/get-started/overview.md +++ b/content/get-started/overview.md @@ -87,7 +87,7 @@ daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface. Another Docker client is Docker Compose, that lets you work with applications consisting of a set of containers. -![Docker Architecture diagram](images/docker-architecture.png) +![Docker Architecture diagram](images/docker-architecture.webp) ### The Docker daemon diff --git a/content/get-started/resources.md b/content/get-started/resources.md index d259d5b664..ddda4726f3 100644 --- a/content/get-started/resources.md +++ b/content/get-started/resources.md @@ -9,11 +9,11 @@ Docker and the broader community of Docker experts have put together many differ ## Hosted labs -These self-paced and hands-on workshops use a free, hosted environment ([Play with Kubernetes](https://labs.play-with-k8s.com/)) that does not require any installation. Follow along and learn more about Kubernetes. +These self-paced and hands-on workshops use a free, hosted environment ([Play with Kubernetes](https://labs.play-with-k8s.com/)) that doesn't require any installation. Follow along and learn more about Kubernetes. * [Kubernetes Workshop](https://training.play-with-kubernetes.com/kubernetes-workshop/) -* Labs are free but require registration with a Docker ID. +\* Labs are free but require registration with a Docker ID. ## Self-guided tutorials diff --git a/content/get-started/swarm-deploy.md b/content/get-started/swarm-deploy.md index 3c81d13220..6e904d4b7d 100644 --- a/content/get-started/swarm-deploy.md +++ b/content/get-started/swarm-deploy.md @@ -18,15 +18,15 @@ aliases: ## Introduction -Now that we've demonstrated that the individual components of our application run as stand-alone containers and shown how to deploy it using Kubernetes, let's look at how to arrange for them to be managed by Docker Swarm. Swarm provides many tools for scaling, networking, securing and maintaining your containerized applications, above and beyond the abilities of containers themselves. +Now that you've demonstrated that the individual components of your application run as stand-alone containers and shown how to deploy it using Kubernetes, you can look at how to arrange for them to be managed by Docker Swarm. Swarm provides many tools for scaling, networking, securing and maintaining your containerized applications, above and beyond the abilities of containers themselves. -In order to validate that our containerized application works well on Swarm, we'll use Docker Desktop's built in Swarm environment right on our development machine to deploy our application, before handing it off to run on a full Swarm cluster in production. The Swarm environment created by Docker Desktop is fully featured, meaning it has all the Swarm features your app will enjoy on a real cluster, accessible from the convenience of your development machine. +In order to validate that your containerized application works well on Swarm, you'll use Docker Desktop's built in Swarm environment right on your development machine to deploy your application, before handing it off to run on a full Swarm cluster in production. The Swarm environment created by Docker Desktop is fully featured, meaning it has all the Swarm features your app will enjoy on a real cluster, accessible from the convenience of your development machine. ## Describe apps using stack files -Swarm never creates individual containers like we did in the previous step of this tutorial. Instead, all Swarm workloads are scheduled as services, which are scalable groups of containers with added networking features maintained automatically by Swarm. Furthermore, all Swarm objects can and should be described in manifests called stack files. These YAML files describe all the components and configurations of your Swarm app, and can be used to easily create and destroy your app in any Swarm environment. +Swarm never creates individual containers like you did in the previous step of this tutorial. Instead, all Swarm workloads are scheduled as services, which are scalable groups of containers with added networking features maintained automatically by Swarm. Furthermore, all Swarm objects can and should be described in manifests called stack files. These YAML files describe all the components and configurations of your Swarm app, and can be used to create and destroy your app in any Swarm environment. -Let's write a simple stack file to run and manage our Todo app, the container `getting-started` image created in [Part 2](02_our_app.md) of the Quickstart tutorial. Place the following in a file called `bb-stack.yaml`: +Now you can write a simple stack file to run and manage your Todo app, the container `getting-started` image created in [Part 2](02_our_app.md) of the tutorial. Place the following in a file called `bb-stack.yaml`: {{< include "swarm-compose-compat.md" >}} @@ -40,7 +40,7 @@ services: - "8000:3000" ``` -In this Swarm YAML file, we have just one object, a `service`, describing a scalable group of identical containers. In this case, you'll get just one container (the default), and that container will be based on your `getting-started` image created in [Part 2](02_our_app.md) of the Quickstart tutorial. In addition, We've asked Swarm to forward all traffic arriving at port 8000 on our development machine to port 3000 inside our getting-started container. +In this Swarm YAML file, there is one object, a `service`, describing a scalable group of identical containers. In this case, you'll get just one container (the default), and that container will be based on your `getting-started` image created in [Part 2](02_our_app.md) of the tutorial. In addition, you've asked Swarm to forward all traffic arriving at port 8000 on your development machine to port 3000 inside our getting-started container. > **Kubernetes Services and Swarm Services are very different** > @@ -82,9 +82,9 @@ In this Swarm YAML file, we have just one object, a `service`, describing a scal il7elwunymbs demo_bb-app replicated 1/1 getting-started:latest *:8000->3000/tcp ``` - This indicates 1/1 containers you asked for as part of your services are up and running. Also, we see that port 8000 on your development machine is getting forwarded to port 3000 in your getting-started container. + This indicates 1/1 containers you asked for as part of your services are up and running. Also, you see that port 8000 on your development machine is getting forwarded to port 3000 in your getting-started container. -3. Open a browser and visit your Todo app at `localhost:8000`; you should see your Todo application, the same as when we ran it as a stand-alone container in [Part 2](02_our_app.md) of the Quickstart tutorial. +3. Open a browser and visit your Todo app at `localhost:8000`; you should see your Todo application, the same as when you ran it as a stand-alone container in [Part 2](02_our_app.md) of the tutorial. 4. Once satisfied, tear down your application: @@ -94,9 +94,9 @@ In this Swarm YAML file, we have just one object, a `service`, describing a scal ## Conclusion -At this point, we have successfully used Docker Desktop to deploy our application to a fully-featured Swarm environment on our development machine. You can now add other components to your app and taking advantage of all the features and power of Swarm, right on your own machine. +At this point, you've successfully used Docker Desktop to deploy your application to a fully-featured Swarm environment on your development machine. You can now add other components to your app and taking advantage of all the features and power of Swarm, right on your own machine. -In addition to deploying to Swarm, we have also described our application as a stack file. This simple text file contains everything we need to create our application in a running state; we can check it into version control and share it with our colleagues, allowing us to distribute our applications to other clusters (like the testing and production clusters that probably come after our development environments) easily. +In addition to deploying to Swarm, you've also described your application as a stack file. This simple text file contains everything you need to create your application in a running state; you can check it in to version control and share it with your colleagues, letting you to distribute your applications to other clusters (like the testing and production clusters that probably come after your development environments). ## Swarm and CLI references diff --git a/content/language/_index.md b/content/language/_index.md index 0efdd4dedb..032d7a7977 100644 --- a/content/language/_index.md +++ b/content/language/_index.md @@ -25,21 +25,21 @@ Learn how to containerize your applications and start developing using Docker. C
- Develop with Node + Develop with Node
- Develop with Python + Develop with Python
- Develop with Java + Develop with Java
- Develop with Go + Develop with Go
- Develop with C# + Develop with C#
- Develop with Rust + Develop with Rust
\ No newline at end of file diff --git a/content/language/dotnet/develop.md b/content/language/dotnet/develop.md index ec62bb3936..014c132bd2 100644 --- a/content/language/dotnet/develop.md +++ b/content/language/dotnet/develop.md @@ -24,17 +24,17 @@ application](containerize.md). To get the updated code, you need to checkout the `add-db` branch. For the changes you made in [Containerize a .NET application](containerize.md), for this section, you can stash them. In a terminal, run the following commands in the `docker-dotnet-sample` directory. -Stash any previous changes. +1. Stash any previous changes. -```console -$ git stash -u -``` + ```console + $ git stash -u + ``` -Check out the new branch with the updated application. +2. Check out the new branch with the updated application. -```console -$ git checkout add-db -``` + ```console + $ git checkout add-db + ``` In the `add-db` branch, only the .NET application has been updated. None of the Docker assets have been updated yet. diff --git a/content/language/golang/build-images.md b/content/language/golang/build-images.md index 2535102317..e2cce2ffb5 100644 --- a/content/language/golang/build-images.md +++ b/content/language/golang/build-images.md @@ -295,7 +295,7 @@ FROM golang:1.19 ## Build the image -Now that you've created our `Dockerfile`, build an image from it. The `docker +Now that you've created your `Dockerfile`, build an image from it. The `docker build` command creates Docker images from the `Dockerfile` and a context. A build context is the set of files located in the specified path or URL. The Docker build process can access any of the files located in the context. diff --git a/content/language/golang/images/cdsuccess.png b/content/language/golang/images/cdsuccess.png deleted file mode 100644 index 59c13c8948..0000000000 Binary files a/content/language/golang/images/cdsuccess.png and /dev/null differ diff --git a/content/language/golang/images/loginerror.png b/content/language/golang/images/loginerror.png deleted file mode 100644 index fa222c653d..0000000000 Binary files a/content/language/golang/images/loginerror.png and /dev/null differ diff --git a/content/language/golang/images/runworkflow.png b/content/language/golang/images/runworkflow.png deleted file mode 100644 index 6924a15a8f..0000000000 Binary files a/content/language/golang/images/runworkflow.png and /dev/null differ diff --git a/content/language/golang/images/triggerontag.png b/content/language/golang/images/triggerontag.png deleted file mode 100644 index d8baf3f62d..0000000000 Binary files a/content/language/golang/images/triggerontag.png and /dev/null differ diff --git a/content/language/images/c-sharp.png b/content/language/images/c-sharp.png deleted file mode 100644 index d135f6d938..0000000000 Binary files a/content/language/images/c-sharp.png and /dev/null differ diff --git a/content/language/images/c-sharp.webp b/content/language/images/c-sharp.webp new file mode 100644 index 0000000000..7f373ae1df Binary files /dev/null and b/content/language/images/c-sharp.webp differ diff --git a/content/language/images/golang.png b/content/language/images/golang.png deleted file mode 100644 index d6d98c3bde..0000000000 Binary files a/content/language/images/golang.png and /dev/null differ diff --git a/content/language/images/golang.webp b/content/language/images/golang.webp new file mode 100644 index 0000000000..1c84f8a6b0 Binary files /dev/null and b/content/language/images/golang.webp differ diff --git a/content/language/images/java.png b/content/language/images/java.png deleted file mode 100644 index 635fec7919..0000000000 Binary files a/content/language/images/java.png and /dev/null differ diff --git a/content/language/images/java.webp b/content/language/images/java.webp new file mode 100644 index 0000000000..6aeda48d6e Binary files /dev/null and b/content/language/images/java.webp differ diff --git a/content/language/images/nodejs.png b/content/language/images/nodejs.png deleted file mode 100644 index dfe61d60cb..0000000000 Binary files a/content/language/images/nodejs.png and /dev/null differ diff --git a/content/language/images/nodejs.webp b/content/language/images/nodejs.webp new file mode 100644 index 0000000000..607b2b3396 Binary files /dev/null and b/content/language/images/nodejs.webp differ diff --git a/content/language/images/python.png b/content/language/images/python.png deleted file mode 100644 index 71f942075d..0000000000 Binary files a/content/language/images/python.png and /dev/null differ diff --git a/content/language/images/python.webp b/content/language/images/python.webp new file mode 100644 index 0000000000..0f2a3ab8fd Binary files /dev/null and b/content/language/images/python.webp differ diff --git a/content/language/images/rust-logo.png b/content/language/images/rust-logo.png deleted file mode 100644 index ad240ba272..0000000000 Binary files a/content/language/images/rust-logo.png and /dev/null differ diff --git a/content/language/images/rust-logo.webp b/content/language/images/rust-logo.webp new file mode 100644 index 0000000000..b66d6ff4e1 Binary files /dev/null and b/content/language/images/rust-logo.webp differ diff --git a/content/language/java/develop.md b/content/language/java/develop.md index 3332e3ba40..8806cb76ea 100644 --- a/content/language/java/develop.md +++ b/content/language/java/develop.md @@ -171,7 +171,7 @@ $ docker compose -f docker-compose.dev.yml up --build You pass the `--build` flag so Docker will compile your image and then starts the containers. You should see similar output if it runs successfully: -![Java Compose output](images/java-compose-output.png) +![Java Compose output](images/java-compose-output.webp) Now, test your API endpoint. Run the following curl command: @@ -191,7 +191,7 @@ You should receive the following response: You’ll use the debugger that comes with the IntelliJ IDEA. You can use the community version of this IDE. Open your project in IntelliJ IDEA, go to the **Run** menu, and then **Edit Configuration**. Add a new Remote JVM Debug configuration similar to the following: -![Java Connect a Debugger](images/connect-debugger.png) +![Java Connect a Debugger](images/connect-debugger.webp) Set a breakpoint. @@ -199,11 +199,11 @@ Open `src/main/java/org/springframework/samples/petclinic/vet/VetController.java To start your debug session, select the **Run** menu and then **Debug _NameOfYourConfiguration_**. -![Debug menu](images/debug-menu.png) +![Debug menu](images/debug-menu.webp?w=300) You should now see the connection in the logs of your Compose application. -![Compose log file ](images/compose-logs.png) +![Compose log file ](images/compose-logs.webp) You can now call the server endpoint. @@ -213,7 +213,7 @@ $ curl --request GET --url http://localhost:8080/vets You should have seen the code break on the marked line and now you are able to use the debugger just like you would normally. You can also inspect and watch variables, set conditional breakpoints, view stack traces and a do bunch of other stuff. -![Debugger code breakpoint](images/debugger-breakpoint.png) +![Debugger code breakpoint](images/debugger-breakpoint.webp) You can also activate the live reload option provided by SpringBoot Dev Tools. Check out the [SpringBoot documentation](https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-devtools-remote) for information on how to connect to a remote application. diff --git a/content/language/java/images/compose-logs.png b/content/language/java/images/compose-logs.png deleted file mode 100644 index aa728abda9..0000000000 Binary files a/content/language/java/images/compose-logs.png and /dev/null differ diff --git a/content/language/java/images/compose-logs.webp b/content/language/java/images/compose-logs.webp new file mode 100644 index 0000000000..b82e2bd425 Binary files /dev/null and b/content/language/java/images/compose-logs.webp differ diff --git a/content/language/java/images/connect-debugger.png b/content/language/java/images/connect-debugger.png deleted file mode 100644 index 73af3bd513..0000000000 Binary files a/content/language/java/images/connect-debugger.png and /dev/null differ diff --git a/content/language/java/images/connect-debugger.webp b/content/language/java/images/connect-debugger.webp new file mode 100644 index 0000000000..f42e73f71c Binary files /dev/null and b/content/language/java/images/connect-debugger.webp differ diff --git a/content/language/java/images/debug-menu.png b/content/language/java/images/debug-menu.png deleted file mode 100644 index 98bc943f3a..0000000000 Binary files a/content/language/java/images/debug-menu.png and /dev/null differ diff --git a/content/language/java/images/debug-menu.webp b/content/language/java/images/debug-menu.webp new file mode 100644 index 0000000000..895f867c73 Binary files /dev/null and b/content/language/java/images/debug-menu.webp differ diff --git a/content/language/java/images/debugger-breakpoint.png b/content/language/java/images/debugger-breakpoint.png deleted file mode 100644 index 32eb0371f2..0000000000 Binary files a/content/language/java/images/debugger-breakpoint.png and /dev/null differ diff --git a/content/language/java/images/debugger-breakpoint.webp b/content/language/java/images/debugger-breakpoint.webp new file mode 100644 index 0000000000..f56d8f9504 Binary files /dev/null and b/content/language/java/images/debugger-breakpoint.webp differ diff --git a/content/language/java/images/java-compose-output.png b/content/language/java/images/java-compose-output.png deleted file mode 100644 index 314f63c3a8..0000000000 Binary files a/content/language/java/images/java-compose-output.png and /dev/null differ diff --git a/content/language/java/images/java-compose-output.webp b/content/language/java/images/java-compose-output.webp new file mode 100644 index 0000000000..be57648e03 Binary files /dev/null and b/content/language/java/images/java-compose-output.webp differ diff --git a/content/language/python/_index.md b/content/language/python/_index.md index 18dbf89ddc..df5ca126cc 100644 --- a/content/language/python/_index.md +++ b/content/language/python/_index.md @@ -1,7 +1,7 @@ --- description: Containerize Python apps using Docker keywords: Docker, getting started, Python, language -title: What will you learn in this module? +title: Python language-specific guide toc_min: 1 toc_max: 2 --- diff --git a/content/subscription/details.md b/content/subscription/details.md index eea026a49a..a77c9862ac 100644 --- a/content/subscription/details.md +++ b/content/subscription/details.md @@ -14,7 +14,7 @@ Docker Personal includes: - Unlimited public repositories - Unlimited [Scoped Access Tokens](../security/for-developers/access-tokens.md) -- Unlimited [collaborators](../docker-hub/repos/access/index.md#collaborators-and-their-role) for public repositories at no cost per month. +- Unlimited [collaborators](../docker-hub/repos/access.md#collaborators-and-their-role) for public repositories at no cost per month. Additionally, anonymous users get 100 pulls every 6 hours and users that sign in to Docker get 200 pulls every 6 hours. diff --git a/content/support.md b/content/support.md index 9f46b8a2a3..37155e37d4 100644 --- a/content/support.md +++ b/content/support.md @@ -17,7 +17,7 @@ All Docker users can seek support through the following resources, where Docker - [Docker Desktop for Mac GitHub repo](https://github.com/docker/for-mac) - [Docker Desktop for Linux GitHub repo](https://github.com/docker/desktop-linux) - [Docker Community Forums](https://forums.docker.com/) - - [Docker Community Slack](https://dockercommunity.slack.com/) + - [Docker Community Slack](http://dockr.ly/comm-slack) ## What support can I get? diff --git a/layouts/index.html b/layouts/index.html index f1b73e14d3..01b3e17c53 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -48,7 +48,7 @@
- +
diff --git a/static/assets/images/docker-future.png b/static/assets/images/docker-future.png deleted file mode 100644 index 4240b6ac3b..0000000000 Binary files a/static/assets/images/docker-future.png and /dev/null differ diff --git a/static/assets/images/docker-future.webp b/static/assets/images/docker-future.webp new file mode 100644 index 0000000000..8e13dc4ce5 Binary files /dev/null and b/static/assets/images/docker-future.webp differ