Docker上的端口Map在Ubuntu 20.04专用服务器上不起作用。
我创建了一个nginx容器:
docker run -d --name some-nginx -p 3000:80 nginx
docker ps命令表示容器工作正常:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f02f38541ab nginx "/docker-entrypoint.…" 59 minutes ago Up 59 minutes 0.0.0.0:3000->80/tcp, :::3000->80/tcp some-nginx
我希望收到nginx的默认页面,但我什么也没有收到:
curl http://localhost:3000
我尝试了容器中的命令,它工作得很好。
docker exec -it some-nginx bash
curl http://localhost:80
我收到了:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
我从Ubuntu 20.04的干净安装开始,并通过以下指南安装了docker:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04
在过去,我在共享VPS(Ubuntu 20.04)上安装了Docker,然后端口Map工作正常。
有人知道问题出在哪里吗?
1条答案
按热度按时间vd8tlhqk1#
我认为使用以下命令检查防火墙设置是很好的:
你也可以尝试curl的verbose选项:
docker日志来查看请求是否到达nginx: