-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Restructure and rewrite network content #5936
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
--- | ||
title: Container networking | ||
description: How networking works from the container's point of view | ||
keywords: networking, container, standalone | ||
redirect_from: | ||
- /engine/userguide/networking/configure-dns/ | ||
- /engine/userguide/networking/default_network/binding/ | ||
--- | ||
|
||
The type of network a container uses, whether it is a [brudge](bridges.md), an | ||
[overlay](overlay.md), a [macvlan network](macvlan.md), or a custom network | ||
plugin, is transparent from within the container. From the container's point of | ||
view, it has a network interface with an IP address, a gateway, a routing table, | ||
DNS services, and other networking details (assuming the container is not using | ||
the `none` network driver). This topic is about networking concerns from the | ||
point of view of the container. | ||
|
||
## Published ports | ||
|
||
By default, when you create a container, it does not publish any of its ports | ||
to the outside world. To make a port available to services outside of Docker, or | ||
to Docker containers which are not connected to the container's network, use the | ||
`--publish` or `-p` flag. This creates a firewall rule which maps a container | ||
port to a port on the Docker host. Here are some examples. | ||
|
||
| Flag value | Description | | ||
|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| `-p 8080:80` | Map TCP port 80 in the container to port 8080 on the Docker host. | | ||
| `-p 8080:80/udp` | Map UDP port 80 in the container to port 8080 on the Docker host. | | ||
| `-p 8080:80/tcp -p 8080:80/udp` | Map TCP port 80 in the container to TCP port 8080 on the Docker host, and map UDP port 80 in the container to UDP port 8080 on the Docker host. | | ||
|
||
## IP address and hostname | ||
|
||
By default, the container is assigned an IP address for every Docker network it | ||
connects to. The IP address is assigned from the pool assigned to | ||
the network, so the Docker daemon effectively acts as a DHCP server for each | ||
container. Each network also has a default subnet mask and gateway. | ||
|
||
When the container starts, it can only be connected to a single network, using | ||
`--network`. However, you can connect a running container to multiple | ||
networks using `docker network connect`. When you start a container using the | ||
`--network` flag, you can specify the IP address assigned to the container on | ||
that network using the `--ip` or `--ip6` flags. | ||
|
||
When you connect an existing container to a different network using | ||
`docker network connect`, you can use the `--ip` or `--ip6` flags on that | ||
command to specify the container's IP address on the additional network. | ||
|
||
In the same way, a container's hostname defaults to be the container's name in | ||
Docker. You can override the hostname using `--hostname`. When connecting to an | ||
existing network using `docker network connect`, you can use the `--alias` | ||
flag to specify an additional network alias for the container on that network. | ||
|
||
## DNS services | ||
|
||
By default, a container inherits the DNS settings of the Docker daemon, | ||
including the `/etc/hosts` and `/etc/resolv.conf`.You can override these | ||
settings on a per-container basis. | ||
|
||
| Flag | Description | | ||
|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| `--dns` | The IP address of a DNS server. To specify multiple DNS servers, use multiple `--dns` flags. If the container cannot reach any of the IP addresses you specify, Google's public DNS server `8.8.8.8` is added, so that your container can resolve internet domains. | | ||
| `--dns-search` | A DNS search domain to search non-fully-qualified hostnames. To specify multiple DNS search prefixes, use multiple `--dns-search` flags. | | ||
| `--dns-opt` | A key-value pair representing a DNS option and its value. See your operating system's documentation for `resolv.conf` for valid options. | | ||
| `--hostname` | The hostname a container uses for itself. Defaults to the container's name if not specified. | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
title: Enable IPv6 support | ||
description: How to enable IPv6 support in the Docker daemon | ||
keywords: daemon, network, networking, ipv6 | ||
redirect_from: | ||
- /engine/userguide/networking/default_network/ipv6/ | ||
--- | ||
|
||
Before you can use IPv6 in Docker containers or swarm services, you need to | ||
enable IPv6 support in the Docker daemon. Afterward, you can choose to use | ||
either IPv4 or IPv6 (or both) with any container, service, or network. | ||
|
||
> **Note**: IPv6 networking is only supported on Docker daemons running on Linux | ||
> hosts. | ||
|
||
1. Edit `/etc/docker/daemon.json` and set the `ipv6` key to `true`. | ||
|
||
```json | ||
{ | ||
"ipv6": true | ||
} | ||
``` | ||
|
||
Save the file. | ||
|
||
2. Reload the Docker configuration file. | ||
|
||
```bash | ||
$ systemctl reload docker | ||
``` | ||
|
||
You can now create networks with the `--ipv6` flag and assign containers IPv6 | ||
addresses using the `--ip6` flag. | ||
|
||
## Next steps | ||
|
||
- [Networking overview](/network/index.md) | ||
- [Container networking](/config/container/container-networking.md) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/brudge/bridge/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this will be fixed in #5945. As this content is now live, please file new issues when you see problems.