mirror of
https://github.com/apple/container.git
synced 2026-09-27 10:05:42 +00:00
Adds --publish flag for forwarding traffic to container ports. (#352)
This commit is contained in:
@@ -145,6 +145,57 @@ Use the `list` command with the `--format` option to display information for all
|
||||
]
|
||||
</pre>
|
||||
|
||||
## Forward traffic from `localhost` to your container
|
||||
|
||||
Use the `--publish` option to forward TCP or UDP traffic from your loopback IP to the container you run. The option value has the form `[host-ip:]host-port:container-port[/protocol]`, where protocol may be `tcp` or `udp`, case insensitive.
|
||||
|
||||
If your container attaches to multiple networks, the ports you publish forward to the IP address of the interface attached to the first network.
|
||||
|
||||
To forward requests from `localhost:8080` to a Python webserver on container port 8000, run:
|
||||
|
||||
```bash
|
||||
container run -d --rm -p 127.0.0.1:8080:8000 python:slim python3 -m http.server --bind 0.0.0.0 8000
|
||||
```
|
||||
|
||||
A `curl` to `localhost:8000` outputs:
|
||||
|
||||
```console
|
||||
% curl http://localhost:8080
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Directory listing for /</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Directory listing for /</h1>
|
||||
<hr>
|
||||
<ul>
|
||||
<li><a href="bin/">bin@</a></li>
|
||||
<li><a href="boot/">boot/</a></li>
|
||||
<li><a href="dev/">dev/</a></li>
|
||||
<li><a href="etc/">etc/</a></li>
|
||||
<li><a href="home/">home/</a></li>
|
||||
<li><a href="lib/">lib@</a></li>
|
||||
<li><a href="lost%2Bfound/">lost+found/</a></li>
|
||||
<li><a href="media/">media/</a></li>
|
||||
<li><a href="mnt/">mnt/</a></li>
|
||||
<li><a href="opt/">opt/</a></li>
|
||||
<li><a href="proc/">proc/</a></li>
|
||||
<li><a href="root/">root/</a></li>
|
||||
<li><a href="run/">run/</a></li>
|
||||
<li><a href="sbin/">sbin@</a></li>
|
||||
<li><a href="srv/">srv/</a></li>
|
||||
<li><a href="sys/">sys/</a></li>
|
||||
<li><a href="tmp/">tmp/</a></li>
|
||||
<li><a href="usr/">usr/</a></li>
|
||||
<li><a href="var/">var/</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
## Create and use a separate isolated network
|
||||
|
||||
> [!NOTE]
|
||||
|
||||
Reference in New Issue
Block a user