amazon-web-services - docker容器内的Nginx没有响应
问题描述
我的 Dockerfile 是:
FROM nginx
我在 AWS 上启动一个容器docker run -d --name ng_ex -p 8082:80 nginx
并:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6489cbb430b9 nginx "nginx -g 'daemon of…" 22 minutes ago Up 22 minutes 0.0.0.0:8082->80/tcp ng_ex
在容器内:
service nginx status
[ ok ] nginx is running.
但是当我尝试在浏览器上发送请求时,my.ip.address:8082
我得到一个超时错误,而不是 Nginx 欢迎页面。我的错误是什么以及如何解决?
解决方案
- 如果您在 aws 上的 VM 上,则意味着您必须设置安全组以允许从所有 Internet 或仅您的 IP/proxyIP 在端口 8082 上连接。(超时可能来自于此)。
然后my.ip.address:8082
应该工作
- 如果您在 VM 中,请获取容器 IP:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
.
然后 curl <容器IP>:8082
- 如果仍然无法工作,请确认构建您的容器
EXPOSE 80
推荐阅读
- python - 通过为多个(但不是全部)级别提供值来选择 pandas MultiIndex DataFrame 中的行
- r - 删除 R 情节子图中的图例重复项
- azure - 如何优化 RU 以替换 Azure cosmos DB 中的文档?
- c++ - Qt 不是模板类型
- json - 如何在 Angular 中剥离这个 JSON?
- javascript - 如何知道列表中 li 的内容?
- hibernate - @OneToMany @MapKeyColumn 关系的可写性映射假定在 @Id 字段上
- c++ - Cmake - 致命错误U1073:不知道如何制作特定库
- javascript - 无法在“IntersectionObserver”上执行“观察”:参数 1 不是“元素”类型
- java - 从指针列表重新创建指针的 LinkedList