nginx 为什么在Ubuntu 20.04中我的Docker容器上没有端口Map?

5tmbdcev  于 2023-05-28  发布在  Nginx
关注(0)|答案(1)|浏览(185)

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工作正常。
有人知道问题出在哪里吗?

vd8tlhqk

vd8tlhqk1#

我认为使用以下命令检查防火墙设置是很好的:

sudo ufw status

sudo iptables -L

你也可以尝试curl的verbose选项:

curl -v http://localhost:3000

docker日志来查看请求是否到达nginx:

docker logs --details some-nginx

相关问题