Public IPv6
A public IPv6 address for your environment.
Your environment has a public IPv6 address of its own. Print it with:
1ssh cd.pico.sh ipv6
Receive traffic #
Publish ports on your docker engine:
1services:
2 web:
3 image: nginx:alpine
4 ports:
5 - "8080:80"
The service is available at http://[<your address>]:8080. This path goes
directly to your environment, and doesn't use picd's HTTP ingress or its
TLS certificates, so it suits any TCP or UDP service.
With Docker's userland proxy, which is on by default, and an IPv4-only compose network, a published IPv6 port reaches an IPv4 container.
Send traffic #
For outbound IPv6 from your containers, enable IPv6 on their compose network:
1networks:
2 default:
3 enable_ipv6: true
On IPv6-enabled networks, applications must listen on IPv6 to receive published IPv6 traffic. See Docker's port publishing rules.
Docker gives containers private IPv6 addresses on these networks, and masquerades their outbound traffic to your public address. Only IPv6 goes through your public address; IPv4 keeps its existing route.