site: use filter-based nav for guides

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
This commit is contained in:
David Karlsson 2024-09-25 08:21:21 +02:00
parent 953a638e5c
commit 2e59bd4eb7
171 changed files with 1218 additions and 1004 deletions

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -51,7 +51,3 @@ Docker recommends watching the video workshop from DockerCon 2022. Watch the ent
If you'd like to see how containers are built from scratch, Liz Rice from Aqua Security has a fantastic talk in which she creates a container from scratch in Go. While the talk does not go into networking, using images for the filesystem, and other advanced topics, it gives a deep dive into how things are working.
<iframe src="https://www.youtube-nocookie.com/embed/8fi7uSYlOdc" style="max-width: 100%; aspect-ratio: 16 / 9;" width="560" height="auto" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## Language-specific guides
If you are looking for information on how to containerize an application using your favorite language, see the [Language-specific guides](/guides/language/_index.md).

View File

@ -4,42 +4,7 @@ keywords: Docker guides
description: Explore the Docker guides
params:
icon: developer_guide
notoc: true
dive-deeper:
- title: Language-specific guides
description: Learn how to containerize, develop, and test language-specific apps using Docker.
link: /language/
icon: code
- title: Use-case guides
description: Walk through practical Docker applications for specific scenarios.
link: /guides/use-case/
icon: task
- title: Deployment and Orchestration
description: Deploy and manage Docker containers at scale.
link: /guides/deployment-orchestration/orchestration/
icon: workspaces
resources:
- title: Educational resources
description: Explore diverse Docker training and hands-on experiences.
link: /guides/resources/
icon: book
- title: Contribute to Docker's docs
description: Learn how to help contribute to Docker docs.
link: /contribute/
icon: edit
layout: wide
layout: landing
---
This section contains more advanced guides to help you learn how Docker can optimize your development workflows.
## Advancing with Docker
Explore more advanced concepts and scenarios in Docker.
{{< grid items="dive-deeper" >}}
## Educational resources and contributions
Discover community-driven resources and learn how to contribute to Docker docs.
{{< grid items="resources" >}}

View File

@ -1,12 +1,20 @@
---
description: Containerize and develop C++ applications using Docker.
keywords: getting started, c++
title: C++ language-specific guide
linkTitle: C++
description: Containerize and develop C++ applications using Docker.
keywords: getting started, c++
summary: |
This guide explains how to containerize C++ applications using Docker,
covering how to build Docker images, manage dependencies, and deploy C++ apps
efficiently in containers.
toc_min: 1
toc_max: 2
aliases:
- /language/cpp/
languages: [cpp]
levels: [beginner]
params:
time: 10 minutes
---
The C++ getting started guide teaches you how to create a containerized C++ application using Docker. In this guide, you'll learn how to:
@ -23,5 +31,3 @@ The C++ getting started guide teaches you how to create a containerized C++ appl
After completing the C++ getting started modules, you should be able to containerize your own C++ application based on the examples and instructions provided in this guide.
Start by containerizing an existing C++ application.
{{< button text="Containerize a C++ app" url="containerize.md" >}}

View File

@ -129,5 +129,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -89,5 +89,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
containers.
{{< button text="Develop your application" url="develop.md" >}}

View File

@ -73,5 +73,3 @@ Related information:
## Next steps
In the next section, you'll take a look at how to set up a CI/CD pipeline using GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

@ -2,6 +2,14 @@
description: Learn how to run, connect to, and persist data in a local containerized database.
keywords: database, mysql
title: Use containerized databases
summary: |
Learn how to effectively run and manage databases using Docker containers,
with guides on setup, data persistence, networking, and best practices to
streamline your development and deployment processes.
levels: [beginner]
subjects: [databases]
params:
time: 20 minutes
---
Using a local containerized database offers flexibility and ease of setup,

View File

@ -1,7 +0,0 @@
---
title: Deployment and orchestration
weight: 30
build:
render: never
---

View File

@ -0,0 +1,59 @@
---
title: "Docker Build Cloud: Reclaim your time with fast, multi-architecture builds"
linkTitle: Docker Build Cloud
description: |
Learn how to build and deploy Docker images to the cloud with Docker Build
Cloud.
summary: |
Create applications up to 39x faster using cloud-based resources, shared team
cache, and native multi-architecture support.
levels: [beginner]
products: [dbc]
params:
featured: true
image: images/learning-paths/build-cloud.png
time: 10 minutes
resource_links:
- title: Product page
url: https://www.docker.com/products/build-cloud/
- title: Docker Build Cloud overview
url: /build-cloud/
- title: Subscriptions and features
url: /subscription/build-cloud/build-details/
- title: Using Docker Build Cloud
url: /build-cloud/usage/
---
<!-- vale Vale.Spelling = NO -->
98% of developers spend up to an hour every day waiting for builds to finish
([Incredibuild: 2022 Big Dev Build Times](https://www.incredibuild.com/survey-report-2022)).
Heavy, complex builds can become a major roadblock for development teams,
slowing down both local development and CI/CD pipelines.
<!-- vale Vale.Spelling = YES -->
Docker Build Cloud speeds up image build times to improve developer
productivity, reduce frustrations, and help you shorten the release cycle.
## Whos this for?
- Anyone who wants to tackle common causes of slow image builds: limited local
resources, slow emulation, and lack of build collaboration across a team.
- Developers working on older machines who want to build faster.
- Development teams working on the same repository who want to cut wait times
with a shared cache.
- Developers performing multi-architecture builds who dont want to spend hours
configuring and rebuilding for emulators.
## What youll learn
- Building container images faster locally and in CI
- Accelerating builds for multi-platform images
- Reusing pre-built images to expedite workflows
## Tools integration
Works well with Docker Compose, GitHub Actions, and other CI solutions
<div id="dbc-lp-survey-anchor"></div>

View File

@ -0,0 +1,22 @@
---
title: "Demo: Using Docker Build Cloud in CI"
description: Learn how to use Docker Build Cloud to build your app faster in CI.
weight: 30
---
Docker Build Cloud can significantly decrease the time it takes for your CI builds
take to run, saving you time and money.
Since the builds run remotely, your CI runner can still use the Docker tooling CLI
without needing elevated permissions, making your builds more secure by default.
In this demo, you will see:
- How to integrate Docker Build Cloud into a variety of CI platforms
- How to use Docker Build Cloud in GitHub Actions to build multi-architecture images
- Speed differences between a workflow using Docker Build Cloud and a workflow running natively
- How to use Docker Build Cloud in a GitLab Pipeline
{{< youtube-embed "wvLdInoVBGg" >}}
<div id="dbc-lp-survey-anchor"></div>

View File

@ -0,0 +1,69 @@
---
title: Common challenges and questions
description: Explore common challenges and questions related to Docker Build Cloud.
weight: 40
---
### Is Docker Build Cloud a standalone product or a part of Docker Desktop?
Docker Build Cloud is a service that can be used both with Docker Desktop and
standalone. It lets you build your container images faster, both locally and in
CI, with builds running on cloud infrastructure. The service uses a remote
build cache, ensuring fast builds anywhere and for all team members.
When used with Docker Desktop, the [Builds view](/desktop/use-desktop/builds/)
works with Docker Build Cloud out-of-the-box. It shows information about your
builds and those initiated by your team members using the same builder,
enabling collaborative troubleshooting.
To use Docker Build Cloud without Docker Desktop, you must
[download and install](/build-cloud/setup/#use-docker-build-cloud-without-docker-desktop)
a version of Buildx with support for Docker Build Cloud (the `cloud` driver).
If you plan on building with Docker Build Cloud using the `docker compose
build` command, you also need a version of Docker Compose that supports Docker
Build Cloud.
### How does Docker Build Cloud work with Docker Compose?
Docker Compose works out of the box with Docker Build Cloud. Install the Docker
Build Cloud-compatible client (buildx) and it works with both commands.
### How many minutes are included in Docker Build Cloud Team plans?
You receive 200 minutes per month per purchased seat. If you are also a Docker
subscriber (Personal, Pro, Team, Business), you will also receive your included
build minutes from that plan.
For example, if a Docker Team customer purchases 5 Build Cloud Team seats, they
will have 400 minutes from their Docker Team plan plus 1000 minutes (200 min/mo * 5 seats)
for a total of 1400 minutes per month.
### Im a Docker personal user. Can I try Docker Build Cloud?
Docker subscribers (Pro, Team, Business) receive a set number of minutes each
month, shared across the account, to use Build Cloud.
If you do not have a Docker subscription, you may sign up for a free Personal
account and get 50 minutes per month. Personal accounts are limited to a single
user.
For teams to receive the shared cache benefit, they must either be on a Docker
Team, Docker Business, or paid Build Cloud Team plan. You may buy a month of
Build Cloud Team for the number of seats testing.
### Does Docker Build Cloud support CI platforms? Does it work with GitHub Actions?
Yes, Docker Build Cloud can be used with various CI platforms including GitHub
Actions, CircleCI, Jenkins, and others. It can speed up your build pipelines,
which means less time spent waiting and context switching.
Docker Build Cloud can be used with GitHub Actions to automate your build,
test, and deployment pipeline. Docker provides a set of official GitHub Actions
that you can use in your workflows.
Using GitHub Actions with Docker Build Cloud is straightforward. With a
one-line change in your GitHub Actions configuration, everything else stays the
same. You don't need to create new pipelines. Learn more in the [CI
documentation](/build-cloud/ci/) for Docker Build Cloud.
<div id="dbc-lp-survey-anchor"></div>

View File

@ -0,0 +1,18 @@
---
title: "Demo: set up and use Docker Build Cloud in development"
description: Learn how to use Docker Buld Cloud for local builds.
weight: 20
---
With Docker Build Cloud, you can easily shift the build workload from local machines
to the cloud, helping you achieve faster build times, especially for multi-platform builds.
In this demo, you'll see:
- How to setup the builder locally
- How to use Docker Build Cloud with Docker Compose
- How the image cache speeds up builds for others on your team
{{< youtube-embed "oPGq2AP5OtQ" >}}
<div id="dbc-lp-survey-anchor"></div>

View File

@ -0,0 +1,27 @@
---
title: Why Docker Build Cloud?
description: Learn how Docker Build Cloud makes your builds faster.
weight: 10
---
Docker Build Cloud is a service that lets you build container images faster,
both locally and in CI. Builds run on cloud infrastructure optimally
dimensioned for your workloads, with no configuration required. The service
uses a remote build cache, ensuring fast builds anywhere and for all team
members.
Docker Build Cloud provides several benefits over local builds:
- Improved build speed
- Shared build cache
- Native multi-platform builds
Theres no need to worry about managing builders or infrastructure — simply
connect to your builders and start building. Each cloud builder provisioned to
an organization is completely isolated to a single Amazon EC2 instance, with a
dedicated EBS volume for build cache and encryption in transit. That means
there are no shared processes or data between cloud builders.
{{< youtube-embed "8AqKhEO2PQA" >}}
<div id="dbc-lp-survey-anchor"></div>

View File

@ -0,0 +1,60 @@
---
title: Defining and running multi-container applications with Docker Compose
linkTitle: Docker Compose
summary: Simplify the process of defining, configuring, and running multi-container Docker applications to enable efficient development, testing, and deployment.
description: Learn how to use Docker Compose to define and run multi-container Docker applications.
levels: [beginner]
products: [compose]
params:
featured: true
image: images/learning-paths/compose.png
time: 10 minutes
resource_links:
- title: Overview of Docker Compose CLI
url: /compose/reference/
- title: Overview of Docker Compose
url: /compose/
- title: How Compose works
url: /compose/intro/compose-application-model/
- title: Using profiles with Compose
url: /compose/how-tos/profiles/
- title: Control startup and shutdown order with Compose
url: /compose/how-tos/startup-order/
- title: Compose Build Specification
url: /compose/compose-file/build/
---
Developers face challenges with multi-container Docker applications, including
complex configuration, dependency management, and maintaining consistent
environments. Networking, resource allocation, data persistence, logging, and
monitoring add to the difficulty. Security concerns and troubleshooting issues
further complicate the process, requiring effective tools and practices for
efficient management.
Docker Compose solves the problem of managing multi-container Docker
applications by providing a simple way to define, configure, and run all the
containers needed for an application using a single YAML file. This approach
helps developers to easily set up, share, and maintain consistent development,
testing, and production environments, ensuring that complex applications can be
deployed with all their dependencies and services properly configured and
orchestrated.
## What youll learn
- What Docker Compose is and what it does
- How to define services
- Use cases for Docker Compose
- How things would be different without Docker Compose
## Whos this for?
- Developers and DevOps engineers who need to define, manage, and orchestrate
multi-container Docker applications efficiently across multiple environments.
- Development teams that want to increase productivity by streamlining
development workflows and reducing setup time.
## Tools integration
Works well with Docker CLI, CI/CD tools, and container orchestration tools.
<div id="compose-lp-survey-anchor"></div>

View File

@ -0,0 +1,77 @@
---
title: Common challenges and questions
description: Explore common challenges and questions related to Docker Compose.
weight: 30
---
<!-- vale Docker.HeadingLength = NO -->
### Do I need to maintain a separate Compose file for my development, testing, and staging environments?
You don't necessarily need to maintain entirely separate Compose files for your
development, testing, and staging environments. You can define all your
services in a single Compose file (`compose.yaml`). You can use profiles to
group service configurations specific to each environment (`dev`, `test`,
`staging`).
When you need to spin up an environment, you can activate the corresponding
profiles. For example, to set up the development environment:
```console
$ docker compose --profile dev up
```
This command starts only the services associated with the `dev` profile,
leaving the rest inactive.
For more information on using profiles, see [Using profiles with
Compose](/compose/how-tos/profiles/).
### How can I enforce the database service to start up before the frontend service?
Docker Compose ensures services start in a specific order by using the
`depends_on` property. This tells Compose to start the database service before
even attempting to launch the frontend service. This is crucial since
applications often rely on databases being ready for connections.
However, `depends_on` only guarantees the order, not that the database is fully
initialized. For a more robust approach, especially if your application relies
on a prepared database (e.g., after migrations), consider [health
checks](/reference/compose-file/services.md#healthcheck). Here, you can
configure the frontend to wait until the database passes its health check
before starting. This ensures the database is not only up but also ready to
handle requests.
For more information on setting the startup order of your services, see
[Control startup and shutdown order in Compose](/compose/how-tos/startup-order/).
### Can I use Compose to build a Docker image?
Yes, you can use Docker Compose to build Docker images. Docker Compose is a
tool for defining and running multi-container applications. Even if your
application isn't a multi-container application, Docker Compose can make it
easier to run by defining all the `docker run` options in a file.
To use Compose, you need a `compose.yaml` file. In this file, you can specify
the build context and Dockerfile for each service. When you run the command
`docker compose up --build`, Docker Compose will build the images for each
service and then start the containers.
For more information on building Docker images using Compose, see the [Compose
Build Specification](/compose/compose-file/build/).
### What is the difference between Docker Compose and Dockerfile?
A Dockerfile provides instructions to build a container image while a Compose
file defines your running containers. Quite often, a Compose file references a
Dockerfile to build an image to use for a particular service.
### What is the difference between the `docker compose up` and `docker compose run` commands?
The `docker compose up` command creates and starts all your services. It's
perfect for launching your development environment or running the entire
application. The `docker compose run` command focuses on individual services.
It starts a specified service along with its dependencies, allowing you to run
tests or perform one-off tasks within that container.
<div id="compose-lp-survey-anchor"></div>

View File

@ -0,0 +1,16 @@
---
title: "Demo: set up and use Docker Compose"
description: Learn how to get started with Docker Compose.
weight: 20
---
This Docker Compose demo shows how to orchestrate a multi-container application
environment, streamlining development and deployment processes.
- Compare Docker Compose to the `docker run` command
- Configure a multi-container web app using a Compose file
- Run a multi-container web app using one command
{{< youtube-embed P5RBKmOLPH4 >}}
<div id="compose-lp-survey-anchor"></div>

View File

@ -0,0 +1,22 @@
---
title: Why Docker Compose?
description: Learn how Docker Compose can help you simplify app development.
weight: 10
---
Docker Compose is an essential tool for defining and running multi-container
Docker applications. Docker Compose simplifies the Docker experience, making it
easier for developers to create, manage, and deploy applications by using YAML
files to configure application services.
Docker Compose provides several benefits:
- Lets you define multi-container applications in a single YAML file.
- Ensures consistent environments across development, testing, and production.
- Manages the startup and linking of multiple containers effortlessly.
- Streamlines development workflows and reduces setup time.
- Ensures that each service runs in its own container, avoiding conflicts.
{{< youtube-embed 2EqarOM2V4U >}}
<div id="compose-lp-survey-anchor"></div>

View File

@ -0,0 +1,67 @@
---
title: Securing your software supply chain with Docker Scout
linkTitle: Docker Scout
summary: |
Enhance container security by automating vulnerability detection and
remediation, ensuring compliance, and protecting your development workflow.
description: |
Learn how to use Docker Scout to enhance container security by automating
vulnerability detection and remediation, ensuring compliance, and protecting
your development workflow.
levels: [Beginner]
products: [scout]
params:
featured: true
image: images/learning-paths/scout.png
time: 10 minutes
resource_links:
- title: Docker Scout overview
url: /scout/
- title: Docker Scout quickstart
url: /scout/quickstart/
- title: Install Docker Scout
url: /scout/install/
- title: Software Bill of Materials
url: /scout/concepts/sbom/
---
When container images are insecure, significant risks can arise. Around 60% of
organizations have reported experiencing at least one security breach or
vulnerability incident within a year, resulting in operational
disruption.[^CSA] These incidents often result in considerable downtime, with
44% of affected companies experiencing over an hour of downtime per event. The
financial impact is substantial, with the average data breach cost reaching
$4.45 million.[^IBM] This highlights the critical importance of maintaining
robust container security measures.
Docker Scout enhances container security by providing automated vulnerability
detection and remediation, addressing insecure container images, and ensuring
compliance with security standards.
[^CSA]: https://cloudsecurityalliance.org/blog/2023/09/21/2023-global-cloud-threat-report-cloud-attacks-are-lightning-fast
[^IBM]: https://www.ibm.com/reports/data-breach
## What you'll learn
- Define secure software supply chain (SSSC)
- Review SBOMs and how to use them
- Detect and monitor vulnerabilities
## Tools integration
Works well with Docker Desktop, GitHub Actions, Jenkins, Kubernetes, and
other CI solutions.
## Whos this for?
- DevOps engineers who need to integrate automated security checks into CI/CD
pipelines to enhance the security and efficiency of their workflows.
- Developers who want to use Docker Scout to identify and remediate
vulnerabilities early in the development process, ensuring the production of
secure container images.
- Security professionals who must enforce security compliance, conduct
vulnerability assessments, and ensure the overall security of containerized
applications.
<div id="scout-lp-survey-anchor"></div>

View File

@ -0,0 +1,61 @@
---
title: Common challenges and questions
description: Explore common challenges and questions related to Docker Scout.
weight: 30
---
<!-- vale Docker.HeadingLength = NO -->
### How is Docker Scout different from other security tools?
Docker Scout takes a broader approach to container security compared to
third-party security tools. Third-party security tools, if they offer
remediation guidance at all, miss the mark on their limited scope of
application security posture within the software supply chain, and often
limited guidance when it comes to suggested fixes. Such tools have either
limitations on runtime monitoring or no runtime protection at all. When they do
offer runtime monitoring, its limited in its adherence to key policies.
Third-party security tools offer a limited scope of policy evaluation for
Docker-specific builds. By focusing on the entire software supply chain,
providing actionable guidance, and offering comprehensive runtime protection
with strong policy enforcement, Docker Scout goes beyond just identifying
vulnerabilities in your containers. It helps you build secure applications from
the ground up.
### Can I use Docker Scout with external registries other than Docker Hub?
You can use Scout with registries other than Docker Hub. Integrating Docker Scout
with third-party container registries enables Docker Scout to run image
analysis on those repositories so that you can get insights into the
composition of those images even if they aren't hosted on Docker Hub.
The following container registry integrations are available:
- Artifactory
- Amazon Elastic Container Registry
- Azure Container Registry
Learn more about configuring Scout with your registries in [Integrating Docker Scout with third-party registries](/scout/integrations/#container-registries).
### Does Docker Scout CLI come by default with Docker Desktop?
Yes, the Docker Scout CLI plugin comes pre-installed with Docker Desktop.
### Is it possible to run `docker scout` commands on a Linux system without Docker Desktop?
If you run Docker Engine without Docker Desktop, Docker Scout doesn't come
pre-installed, but you can [install it as a standalone binary](/scout/install/).
### How is Docker Scout using an SBOM?
An SBOM, or software bill of materials, is a list of ingredients that make up
software components. [Docker Scout uses SBOMs](/scout/concepts/sbom/) to
determine the components that are used in a Docker image. When you analyze an
image, Docker Scout will either use the SBOM that is attached to the image (as
an attestation), or generate an SBOM on the fly by analyzing the contents of
the image.
The SBOM is cross-referenced with the advisory database to determine if any of
the components in the image have known vulnerabilities.
<div id="scout-lp-survey-anchor"></div>

View File

@ -0,0 +1,20 @@
---
title: Docker Scout demo
description: Learn about Docke rScout's powerful features for enhanced supply chain security.
weight: 20
---
Docker Scout has powerful features for enhancing containerized application
security and ensuring a robust software supply chain.
- Define vulnerability remediation
- Discuss why remediation is essential to maintain the security and integrity
of containerized applications
- Discuss common vulnerabilities
- Implement remediation techniques: updating base images, applying patches,
removing unnecessary packages
- Verify and validate remediation efforts using Docker Scout
{{< youtube-embed "TkLwJ0p46W8" >}}
<div id="scout-lp-survey-anchor"></div>

View File

@ -0,0 +1,27 @@
---
title: Why Docker Scout?
description: Learn how Docker Scout can help you secure your supply chain.
weight: 10
---
Organizations face significant challenges from data breaches,
including financial losses, operational disruptions, and long-term damage to
brand reputation and customer trust. Docker Scout addresses critical problems
such as identifying insecure container images, preventing security breaches,
and reducing the risk of operational downtime due to vulnerabilities.
Docker Scout provides several benefits:
- Secure and trusted content
- A system of record for your Software Development Lifecycle (SDLC)
- Continuous security posture improvement
Docker Scout offers automated vulnerability detection and remediation, helping
organizations identify and fix security issues in container images early in the
development process. It also integrates with popular development tools like
Docker Desktop and GitHub Actions, providing seamless security management and
compliance checks within existing workflows.
{{< youtube-embed "-omsQ7Uqyc4" >}}
<div id="scout-lp-survey-anchor"></div>

View File

@ -2,23 +2,26 @@
title: .NET language-specific guide
linkTitle: C# (.NET)
description: Containerize and develop .NET apps using Docker
summary: Learn how to containerize .NET applications using Docker, including building, running, and deploying .NET apps in Docker containers, with best practices and step-by-step examples.
keywords: getting started, .net
toc_min: 1
toc_max: 2
aliases:
- /language/dotnet/
- /language/dotnet/
languages: [c-sharp]
levels: [beginner]
params:
time: 20 minutes
---
The .NET getting started guide teaches you how to create a containerized .NET application using Docker. In this guide, you'll learn how to:
* Containerize and run a .NET application
* Set up a local environment to develop a .NET application using containers
* Run tests for a .NET application using containers
* Configure a CI/CD pipeline for a containerized .NET application using GitHub Actions
* Deploy your containerized application locally to Kubernetes to test and debug your deployment
- Containerize and run a .NET application
- Set up a local environment to develop a .NET application using containers
- Run tests for a .NET application using containers
- Configure a CI/CD pipeline for a containerized .NET application using GitHub Actions
- Deploy your containerized application locally to Kubernetes to test and debug your deployment
After completing the .NET getting started modules, you should be able to containerize your own .NET application based on the examples and instructions provided in this guide.
Start by containerizing an existing .NET application.
{{< button text="Containerize a .NET app" url="containerize.md" >}}

View File

@ -144,5 +144,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -130,5 +130,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
Docker containers.
{{< button text="Develop your application" url="develop.md" >}}

View File

@ -393,5 +393,3 @@ Related information:
## Next steps
In the next section, you'll learn how to run unit tests using Docker.
{{< button text="Run your tests" url="run-tests.md" >}}

View File

@ -114,5 +114,3 @@ Related information:
## Next steps
Next, youll learn how to set up a CI/CD pipeline using GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

@ -4,6 +4,14 @@ description: Containerize generative AI (GenAI) apps using Docker
keywords: python, generative ai, genai, llm, neo4j, ollama, langchain
toc_min: 1
toc_max: 2
summary: |
This guide explains how to build a PDF bot using Docker and generative AI,
focusing on setting up a containerized environment for parsing PDF documents
and generating intelligent responses based on the content.
levels: [beginner]
subjects: [ai]
params:
time: 20 minutes
---
The generative AI (GenAI) guide teaches you how to containerize an existing GenAI application using Docker. In this guide, youll learn how to:

View File

@ -135,5 +135,3 @@ Related information:
## Next steps
In the next section, you'll learn how you can run your application, database, and LLM service all locally using Docker.
{{< button text="Develop your application" url="develop.md" >}}

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -3,6 +3,14 @@ title: GenAI video transcription and chat
linkTitle: Video transcription and chat
description: Explore a generative AI video analysis app that uses Docker, OpenAI, and Pinecone.
keywords: python, generative ai, genai, llm, whisper, pinecone, openai, whisper
summary: |
Learn how to build and deploy a generative AI video bot using Docker, with
step-by-step instructions for setup, integration, and optimization to enhance
your AI development projects.
subjects: [ai]
levels: [beginner]
params:
time: 20 minutes
---
## Overview
@ -245,6 +253,6 @@ OpenAI's cookbook for
## Next steps
Explore how to [create a PDF bot application](../genai-pdf-bot/_index.md) using
Explore how to [create a PDF bot application](/guides/genai-pdf-bot/_index.md) using
generative AI, or view more GenAI samples in the
[GenAI Stack](https://github.com/docker/genai-stack) repository.

View File

@ -3,10 +3,19 @@ title: Go language-specific guide
linkTitle: Go
description: Containerize Go apps using Docker
keywords: docker, getting started, go, golang, language, dockerfile
summary: |
This guide teaches you how to containerize Go applications using Docker,
covering image building, dependency management, multi-stage builds for
smaller images, and best practices for deploying Go apps efficiently in
containers.
toc_min: 1
toc_max: 2
aliases:
- /language/golang/
languages: [go]
levels: [beginner]
params:
time: 30 minutes
---
This guide will show you how to create, test, and deploy containerized Go applications using Docker.
@ -28,7 +37,7 @@ In this guide, youll learn how to:
## Prerequisites
Some basic understanding of Go and its toolchain is assumed. This isn't a Go tutorial. If you are new to the language,
Some basic understanding of Go and its toolchain is assumed. This isn't a Go tutorial. If you are new to the : languages:,
the [Go website](https://golang.org/) is a great place to explore,
so *go* (pun intended) check it out!
@ -46,5 +55,3 @@ Some familiarity with the command line is also expected.
The aim of this guide is to provide enough examples and instructions for you to containerize your own Go application and deploy it into the Cloud.
Start by building your first Go image.
{{< button text="Build your Go image" url="build-images.md" >}}

View File

@ -489,5 +489,3 @@ In this module, you met your example application and built and container image
for it.
In the next module, youll take a look at how to run your image as a container.
{{< button text="Run your image as a container" url="run-containers.md" >}}

View File

@ -129,5 +129,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -736,5 +736,3 @@ Since you didn't run a cluster of CockroachDB instances, you might be wondering
In this module, you set up a containerized development environment with your application and the database engine running in different containers. You also wrote a Docker Compose file which links the two containers together and provides for easy starting up and tearing down of the development environment.
In the next module, you'll take a look at one possible approach to running functional tests in Docker.
{{< button text="Run your tests" url="run-tests.md" >}}

View File

@ -207,5 +207,3 @@ Now, you can easily identify your container based on the name.
## Next steps
In this module, you learned how to run containers and publish ports. You also learned to manage the lifecycle of containers. You then learned the importance of naming your containers so that they're more easily identifiable. In the next module, youll learn how to run a database in a container and connect it to your application.
{{< button text="How to develop your application" url="develop.md" >}}

View File

@ -93,5 +93,3 @@ You should see output containing the following.
In this section, you learned how to run tests when building your image. Next,
youll learn how to set up a CI/CD pipeline using GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -3,10 +3,19 @@ title: Java language-specific guide
linkTitle: Java
keywords: java, getting started
description: Containerize Java apps using Docker
summary: |
This guide demonstrates how to containerize Java applications using Docker,
covering image building, dependency management, optimizing image size with
multi-stage builds, and best practices for deploying Java apps efficiently in
containers.
toc_min: 1
toc_max: 2
aliases:
- /language/java/
languages: [java]
levels: [beginner]
params:
time: 20 minutes
---
The Java getting started guide teaches you how to create a containerized Spring Boot application using Docker. In this module, youll learn how to:
@ -20,5 +29,3 @@ The Java getting started guide teaches you how to create a containerized Spring
After completing the Java getting started modules, you should be able to containerize your own Java application based on the examples and instructions provided in this guide.
Get started containerizing your first Java app.
{{< button text="Containerize your first Java app" url="containerize.md" >}}

View File

@ -139,5 +139,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -332,5 +332,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
Docker containers.
{{< button text="Develop your application" url="develop.md" >}}

View File

@ -346,5 +346,3 @@ Related information:
## Next steps
In the next section, youll take a look at how to run unit tests in Docker.
{{< button text="Run your tests" url="run-tests.md" >}}

View File

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 177 KiB

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -121,5 +121,3 @@ You should see output containing the following
In the next section, youll take a look at how to set up a CI/CD pipeline using
GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

@ -3,6 +3,16 @@ description: Run, develop, and share data science projects using JupyterLab and
keywords: getting started, jupyter, notebook, python, jupyterlab, data science
title: Data science with JupyterLab
toc_max: 2
summary: |
This guide explains how to use Docker to run Jupyter notebooks, covering
image setup, container management, and best practices for creating
reproducible and isolated development environments for data science and
machine learning tasks.
languages: [python]
levels: [beginner]
subjects: [data-science]
params:
time: 20 minutes
---
Docker and JupyterLab are two powerful tools that can enhance your data science

View File

@ -3,7 +3,15 @@ description: Developing event-driven applications with Kafka and Docker
keywords: kafka, container-supported development
title: Developing event-driven applications with Kafka and Docker
linktitle: Event-driven apps with Kafka
toc_max: 2
summary: |
This guide explains how to run Apache Kafka in Docker containers, covering
setup, configuring Kafka clusters, managing services, and optimizing
deployment for real-time data streaming in a containerized environment.
subjects: [distributed-systems]
languages: [js]
levels: [intermediate]
params:
time: 20 minutes
---
With the rise of microservices, event-driven architectures have become increasingly popular.

View File

@ -4,6 +4,14 @@ keywords: kubernetes, pods, deployments, kubernetes services
description: Learn how to describe and deploy a simple application on Kubernetes.
aliases:
- /get-started/kube-deploy/
summary: |
Learn how to deploy and orchestrate Docker containers using Kubernetes, with
step-by-step guidance on setup, configuration, and best practices to enhance
your application's scalability and reliability.
subjects: [deploy]
levels: [beginner]
params:
time: 10 minutes
---
## Prerequisites

View File

@ -3,6 +3,15 @@ title: Build a language translation app
linkTitle: Language translation
keywords: nlp, natural language processing, text summarization, python, language translation, googletrans
description: Learn how to build and run a language translation application using Python, Googletrans, and Docker.
summary: |
This guide demonstrates how to use Docker to deploy language translation
models for NLP tasks, covering setup, container management, and running
translation services efficiently in a containerized environment.
levels: [beginner]
subjects: [ai]
languages: [python]
params:
time: 20 minutes
---
## Overview

View File

@ -1,60 +0,0 @@
---
description: Language-specific guides overview
linkTitle: Language-specific guides
weight: 10
keywords: guides, docker, language, node, java, python, R, go, golang, .net, c++
title: Language-specific guides overview
toc_min: 1
toc_max: 2
aliases:
- /guides/walkthroughs/containerize-your-app/
- /language/
---
The language-specific guides walk you through the process of:
* Containerizing language-specific applications
* Setting up a development environment
* Configuring a CI/CD pipeline
* Deploying an application locally using Kubernetes
In addition to the language-specific modules, Docker documentation also provides guidelines to build images and efficiently manage your development environment. For more information, refer to the following topics:
* [Building best practices](/manuals/build/building/best-practices.md)
* [Build images with BuildKit](/manuals/build/buildkit/_index.md#getting-started)
## Language-specific guides
Learn how to containerize your applications and start developing using Docker. Choose one of the following languages to get started.
<div class="grid grid-cols-2 md:grid-cols-3 h-auto gap-4">
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/nodejs/"><img class="m-auto rounded" src="/guides/language/images/nodejs.webp" alt="Develop with Node"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/python/"><img class="m-auto rounded" src="/guides/language/images/python.webp" alt="Develop with Python"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/r/"><img class="m-auto rounded" src="/guides/language/images/r.webp" alt="Develop with R"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/java/"><img class="m-auto rounded" src="/guides/language/images/java.webp" alt="Develop with Java"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/golang/"><img class="m-auto rounded" src="/guides/language/images/golang.webp" alt="Develop with Go"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/dotnet/"><img class="m-auto rounded" src="/guides/language/images/c-sharp.webp" alt="Develop with C#"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/cpp/"><img class="m-auto rounded" src="/guides/language/images/cpp.webp" alt="Develop with C++"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/rust/"><img class="m-auto rounded" src="/guides/language/images/rust-logo.webp" alt="Develop with Rust"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/php/"><img class="m-auto rounded" src="/guides/language/images/php-logo.webp" alt="Develop with PHP"></a>
</div>
<div class="flex items-center flex-1 shadow p-4">
<a href="/guides/language/ruby/"><img class="m-auto rounded" src="/guides/language/images/ruby-on-rails.webp" alt="Develop with Ruby"></a>
</div>
</div>

View File

@ -3,6 +3,15 @@ description: How to develop and test AWS Cloud applications using LocalStack and
keywords: LocalStack, container-supported development
title: Develop and test AWS Cloud applications using LocalStack and Docker
linktitle: AWS development with LocalStack
summary: |
This guide explains how to use Docker to run LocalStack, a local AWS cloud
stack emulator, covering setup, managing cloud service emulation, and testing
cloud-based applications locally in a containerized environment.
subjects: [cloud-services]
languages: [js]
levels: [intermediate]
params:
time: 20 minutes
---
In modern application development, testing cloud applications locally before deploying them to a live environment helps you ship faster and with more confidence. This approach involves simulating services locally, identifying and fixing issues early, and iterating quickly without incurring costs or facing the complexities of a full cloud environment. Tools like [LocalStack](https://www.localstack.cloud/) have become invaluable in this process, enabling you to emulate AWS services and containerize applications for consistent, isolated testing environments.

View File

@ -3,6 +3,16 @@ title: Build a named entity recognition app
linkTitle: Named entity recognition
keywords: nlp, natural language processing, named entity recognition, python, spacy, ner
description: Learn how to build and run a named entity recognition application using Python, spaCy, and Docker.
summary: |
This guide explains how to containerize named entity recognition (NER) models
using Docker, detailing environment setup for large-scale data processing,
optimizing NER model deployment, and managing high-performance containerized
NLP workflows.
subjects: [ai]
languages: [python]
levels: [beginner]
params:
time: 20 minutes
---
## Overview

View File

@ -3,10 +3,19 @@ title: Node.js language-specific guide
linkTitle: Node.js
description: Containerize and develop Node.js apps using Docker
keywords: getting started, node, node.js
summary: |
This guide explains how to containerize Node.js applications using Docker,
covering image building, dependency management, optimizing image size with
multi-stage builds, and best practices for deploying Node.js apps efficiently
in containers.
toc_min: 1
toc_max: 2
aliases:
- /language/nodejs/
languages: [js]
levels: [beginner]
params:
time: 20 minutes
---
The Node.js language-specific guide teaches you how to containerize a Node.js application using Docker. In this guide, youll learn how to:
@ -18,5 +27,3 @@ The Node.js language-specific guide teaches you how to containerize a Node.js ap
* Deploy your containerized Node.js application locally to Kubernetes to test and debug your deployment
Start by containerizing an existing Node.js application.
{{< button text="Containerize a Node.js app" url="containerize.md" >}}

View File

@ -136,5 +136,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -285,5 +285,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
containers.
{{< button text="Develop your application" url="develop.md" >}}

View File

@ -427,5 +427,3 @@ Related information:
## Next steps
In the next section, you'll learn how to run unit tests using Docker.
{{< button text="Run your tests" url="run-tests.md" >}}

View File

@ -170,5 +170,3 @@ Related information:
## Next steps
Next, youll learn how to set up a CI/CD pipeline using GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

@ -4,6 +4,14 @@ keywords: orchestration, deploy, kubernetes, swarm,
description: Get oriented on some basics of Docker and install Docker Desktop.
aliases:
- /get-started/orchestration/
summary: |
Explore the essentials of container orchestration with Docker, including key
concepts, tools like Kubernetes and Docker Swarm, and practical guides to
efficiently deploy and manage your applications.
subjects: [deploy]
levels: [beginner]
params:
time: 10 minutes
---
Containerization provides an opportunity to move and scale applications to

View File

@ -3,10 +3,18 @@ title: PHP language-specific guide
linkTitle: PHP
description: Containerize and develop PHP apps using Docker
keywords: getting started, php, composer
summary: |
This guide explains how to containerize PHP applications using Docker,
covering image building, dependency management, optimizing image size, and
best practices for deploying PHP apps efficiently in containers.
toc_min: 1
toc_max: 2
aliases:
- /language/php/
languages: [php]
levels: [beginner]
params:
time: 20 minutes
---
The PHP language-specific guide teaches you how to create a containerized PHP application using Docker. In this guide, you'll learn how to:
@ -20,5 +28,3 @@ The PHP language-specific guide teaches you how to create a containerized PHP ap
After completing the PHP language-specific guide, you should be able to containerize your own PHP application based on the examples and instructions provided in this guide.
Start by containerizing an existing PHP application.
{{< button text="Containerize a PHP app" url="containerize.md" >}}

View File

@ -144,5 +144,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -130,5 +130,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
Docker containers.
{{< button text="Develop your application" url="develop.md" >}}

View File

@ -429,5 +429,3 @@ Related information:
## Next steps
In the next section, you'll learn how to run unit tests using Docker.
{{< button text="Run your tests" url="run-tests.md" >}}

View File

@ -114,5 +114,3 @@ Related information:
## Next steps
Next, youll learn how to set up a CI/CD pipeline using GitHub Actions.
{{< button text="Configure CI/CD" url="configure-ci-cd.md" >}}

View File

@ -3,10 +3,18 @@ title: Python language-specific guide
linkTitle: Python
description: Containerize Python apps using Docker
keywords: Docker, getting started, Python, language
summary: |
This guide explains how to containerize Python applications using Docker,
covering image building, dependency management, optimizing image size, and
best practices for deploying Python apps efficiently in containers.
toc_min: 1
toc_max: 2
aliases:
- /language/python/
languages: [python]
levels: [beginner]
params:
time: 20 minutes
---
The Python language-specific guide teaches you how to containerize a Python application using Docker. In this guide, youll learn how to:
@ -17,5 +25,3 @@ The Python language-specific guide teaches you how to containerize a Python appl
* Deploy your containerized Python application locally to Kubernetes to test and debug your deployment
Start by containerizing an existing Python application.
{{< button text="Containerize a Python app" url="containerize.md" >}}

View File

@ -129,5 +129,3 @@ Related information:
## Next steps
Next, learn how you can locally test and debug your workloads on Kubernetes before deploying.
{{< button text="Test your deployment" url="./deploy.md" >}}

View File

@ -373,5 +373,3 @@ Related information:
In the next section, you'll learn how you can develop your application using
containers.
{{< button text="Develop your application" url="develop.md" >}}

Some files were not shown because too many files have changed in this diff Show More