设置端口映射以允许外部网络访问容器
·
1.通过端口映射发布 Web 服务(-p)
[root@host1 ~]# docker run --rm -d --name websrv -p 8080:80 httpd
720ac767769b3206801f4646dd933d387394c5338f6ec66d839d2a5f1438104c
[root@host1 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
720ac767769b httpd "httpd-foreground" 10 seconds ago Up 9 seconds 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp websrv
0dbf7ea2178e registry "/entrypoint.sh /etc…" 33 hours ago Up About an hour 0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp myregistry
[root@host1 ~]# curl http://192.168.197.9:8080
<html><body><h1>It works!</h1></body></html>
[root@host1 ~]# docker stop websrv
websrv
[root@host1 ~]# docker rm websrv
Error response from daemon: No such container: websrv
2.使用 -P 选项发布特定端口
[root@host1 ~]# docker run --rm -d --name websrv -P httpd
f8772efda66a32ca1ad04177f1d349f6d7fdd9e91df986ba0890610834d3158d
[root@host1 ~]# docker port websrv
80/tcp -> 0.0.0.0:32768
80/tcp -> [::]:32768
[root@host1 ~]# curl http://192.168.197.9:32768
<html><body><h1>It works!</h1></body></html>
[root@host1 ~]# docker stop websrv
websrv
[root@host1 ~]# docker rm websrv
Error response from daemon: No such container: websrv
更多推荐


所有评论(0)