Skip to content

Commit aaa5c8f

Browse files
authored
Merge pull request #21129 from docker/published-update
publish updates from main
2 parents df98fd6 + 0c95390 commit aaa5c8f

File tree

7 files changed

+95
-9
lines changed

7 files changed

+95
-9
lines changed
38.2 KB
Loading
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: "Faster development and testing with container-supported development"
3+
linkTitle: Container-supported development
4+
summary: |
5+
Containers don't have to be just for your app. Learn how to run your app's dependent services and other debugging tools to enhance your development environment.
6+
description: |
7+
Use containers in your local development loop to develop and test faster… even if your main app isn't running in containers.
8+
levels: [beginner]
9+
params:
10+
image: images/learning-paths/container-supported-development.png
11+
time: 20 minutes
12+
resource_links: []
13+
---
14+
15+
Containers offer a consistent way to build, share, and run applications across different environments. While containers are typically used to containerize your application, they also make it incredibly easy to run essential services needed for development. Instead of installing or connecting to a remote database, you can easily launch your own database. But the possibilities don't stop there.
16+
17+
With container-supported development, you use containers to enhance your development environment by emulating or running your own instances of the services your app needs. This provides faster feedback loops, less coupling with remote services, and a greater ability to test error states.
18+
19+
And best of all, you can have these benefits regardless of whether the main app under development is running in containers.
20+
21+
## What you'll learn
22+
23+
- The meaning of container-supported development
24+
- How to connect non-containerized applications to containerized services
25+
- Several examples of using containers to emulate or run local instances of services
26+
- How to use containers to add additional troubleshooting and debugging tools to your development environment
27+
28+
## Who's this for?
29+
30+
- Teams that want to reduce the coupling they have on shared or deployed infrastructure or remote API endpoints
31+
- Teams that want to reduce the complexity and costs associated with using cloud services directly during development
32+
- Developers that want to make it easier to visualize what's going on in their databases, queues, etc.
33+
- Teams that want to reduce the complexity of setting up their development environment without impacting the development of the app itself
34+
35+
36+
## Tools integration
37+
38+
Works well with Docker Compose and Testcontainers.
39+
40+
## Modules
41+
42+
### What is container-supported development?
43+
44+
Container-supported development is the idea of using containers to enhance your development environment by running local instances or emulators of the services your application relies on. Once you're using containers, it's easy to add additional services to visualize or troubleshoot what's going on in your services.
45+
46+
{{< youtube-embed pNcrto_wGi0 >}}
47+
48+
### Demo: running databases locally
49+
50+
With container-supported development, it's easy to run databases locally. In this demo, you'll see how to do so, as well as how to connect a non-containerized application to the database.
51+
52+
{{< youtube-embed VieWeXOwKLU >}}
53+
54+
### Demo: mocking API endpoints
55+
56+
Many APIs require data from other data endpoints. In development, this adds complexities such as the sharing of credentials, uptime/availability, and rate limiting. Instead of relying on those services directly, your application can interact with a mock API server.
57+
58+
This demo will demonstrate how using WireMock can make it easy to develop and test an application, including the APIs various error states.
59+
60+
{{< youtube-embed VXSmX6f8vo0 >}}
61+
62+
### Demo: developing the cloud locally
63+
64+
When developing apps, it's often easier to outsource aspects of the application to cloud services, such as Amazon S3. However, connecting to those services in local development introduces IAM policies, networking constraints, and provisioning complications. While these requirements are important in a production setting, they complicate development environments significantly.
65+
66+
With container-supported development, you can run local instances of these services during development and testing, removing the need for complex setups. In this demo, you'll see how LocalStack makes it easy to develop and test applications entirely from the developer's workstation.
67+
68+
{{< youtube-embed JtwUMvR5xlY >}}
69+
70+
### Demo: adding additional debug and troubleshooting tools
71+
72+
Once you start using containers in your development environment, it becomes much easier to add additional containers to visualize the contents of the databases or message queues, seed document stores, or event publishers. In this demo, you'll see a few of these examples, as well as how you can connect multiple containers together to make testing even easier.
73+
74+
{{< youtube-embed TCZX15aKSu4 >}}
75+
76+
<div id="lp-survey-anchor"></div>

content/manuals/build-cloud/setup.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ The builder has native support for the `linux/amd64` and `linux/arm64`
7070
architectures. This gives you a high-performance build cluster for building
7171
multi-platform images natively.
7272

73+
## Firewall configuration
74+
75+
To use Docker Build Cloud behind a firewall, ensure that your firewall allows
76+
traffic to the following addresses:
77+
78+
- 3.211.38.21
79+
- https://auth.docker.io
80+
- https://build-cloud.docker.com
81+
- https://hub.docker.com
82+
7383
## What's next
7484

7585
- See [Building with Docker Build Cloud](usage.md) for examples on how to use Docker Build Cloud.

content/manuals/build/ci/github-actions/configure-builder.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ Logs will be available at the end of a job:
6767

6868
You can provide a [BuildKit configuration](../../buildkit/toml-configuration.md)
6969
to your builder if you're using the [`docker-container` driver](/manuals/build/builders/drivers/docker-container.md)
70-
(default) with the `config` or `config-inline` inputs:
70+
(default) with the `config` or `buildkitd-config-inline` inputs:
7171

7272
### Registry mirror
7373

7474
You can configure a registry mirror using an inline block directly in your
75-
workflow with the `config-inline` input:
75+
workflow with the `buildkitd-config-inline` input:
7676

7777
```yaml
7878
name: ci
@@ -87,7 +87,7 @@ jobs:
8787
- name: Set up Docker Buildx
8888
uses: docker/setup-buildx-action@v3
8989
with:
90-
config-inline: |
90+
buildkitd-config-inline: |
9191
[registry."docker.io"]
9292
mirrors = ["mirror.gcr.io"]
9393
```
@@ -99,7 +99,7 @@ For more information about using a registry mirror, see [Registry mirror](../../
9999
You can limit the parallelism of the BuildKit solver which is particularly
100100
useful for low-powered machines.
101101

102-
You can use the `config-inline` input like the previous example, or you can use
102+
You can use the `buildkitd-config-inline` input like the previous example, or you can use
103103
a dedicated BuildKit config file from your repository if you want with the
104104
`config` input:
105105

content/manuals/engine/cli/completion.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ $ docker completion zsh > ~/.docker/completions/_docker
8989
```
9090

9191
```console
92-
$ cat <<EOT >> ~/.zshrc
93-
fpath=(~/.docker/completions \\$fpath)
92+
$ cat <<"EOT" >> ~/.zshrc
93+
FPATH="$HOME/.docker/completions:$FPATH"
9494
autoload -Uz compinit
9595
compinit
9696
EOT

content/manuals/security/for-admins/single-sign-on/connect/_index.md renamed to content/manuals/security/for-admins/single-sign-on/connect.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ The following videos demonstrate how to enforce SSO.
5050

5151
## What's next
5252

53-
Learn how you can [manage your SSO connection](../manage/_index.md), domain, and users for your organization or company.
53+
Learn how you can [manage your SSO connection](../single-sign-on/manage.md), domain, and users for your organization or company.

content/manuals/security/for-admins/single-sign-on/manage/_index.md renamed to content/manuals/security/for-admins/single-sign-on/manage.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,6 @@ aliases:
7171

7272
## What's next?
7373

74-
- [Set up SCIM](../../provisioning/scim.md)
75-
- [Enable Group mapping](../../provisioning/group-mapping.md)
74+
- [Set up SCIM](../provisioning/scim.md)
75+
- [Enable Group mapping](../provisioning/group-mapping.md)
7676

0 commit comments

Comments
 (0)