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

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐