Differences between revisions 5 and 8 (spanning 3 versions)
Revision 5 as of 2023-04-04 19:49:37
Size: 1047
Comment:
Revision 8 as of 2023-04-04 20:03:47
Size: 1872
Comment:
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
== Creating Networks == == Custom Networks ==
Line 32: Line 32:
Note that a network cannot be destroyed if any containers are attached to it. They must be explicitly detached first.

{{{
docker network disconnect my-net my-nginx
}}}

To enable IPv6 on a custom network, add the `--ipv6` option.



=== Attaching Containers ===
Line 35: Line 47:
docker run --interactive --tty --detach --name my-busybox \ docker run --detach --name my-nginx \
Line 37: Line 49:
  busybox:latest   nginx:latest
Line 39: Line 51:

A running container can be attached to a custom network like:

{{{
docker network connect my-net my-nginx
}}}

Containers on a custom bridge network can communicate with each other by addressing the containers' names. For example, the above container would be accessible at `http://my-nginx`.

{{{
$ docker run --interactive --tty --name my-alpine \
    --network=my-net \
    alpine:latest
# apk add curl
[ ... ]
# curl http://my-nginx
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
[ ... ]
}}}

Note that ''all'' ports are exposed.

Docker Bridge Networks

Bridge networks are a type of networks used by dockerd(8).


Default Network

By default, containers attach to bridge networks. See here to change that.

If a bridge network is not specified, the default network is used. This network is special in that there is no name resolution; the only way to communicate between containers is their ephemeral IP addresses.

Furthermore, the default network's use of IPv6 mandatorily matches the dockerd(8) configuration. See here to enable it.


Custom Networks

Custom bridge networks can be created and destroyed like:

docker network create my-net
docker network rm my-net

Note that a network cannot be destroyed if any containers are attached to it. They must be explicitly detached first.

docker network disconnect my-net my-nginx

To enable IPv6 on a custom network, add the --ipv6 option.

Attaching Containers

A container can be created on a custom network by specifying the --network option.

docker run --detach --name my-nginx \
  --network=my-net \
  nginx:latest

A running container can be attached to a custom network like:

docker network connect my-net my-nginx

Containers on a custom bridge network can communicate with each other by addressing the containers' names. For example, the above container would be accessible at http://my-nginx.

$ docker run --interactive --tty --name my-alpine \
    --network=my-net \
    alpine:latest
# apk add curl
[ ... ]
# curl http://my-nginx
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
[ ... ]

Note that all ports are exposed.


CategoryRicottone

Docker/BridgeNetworks (last edited 2023-04-04 23:03:31 by DominicRicottone)