gpt4 book ai didi

macos - Docker nginx 容器 : http code 400

转载 作者:行者123 更新时间:2023-12-02 18:30:30 26 4
gpt4 key购买 nike

我是 docker 新手,我正在尝试从 https://hub.docker.com/_/nginx/ 运行 nginx

  • 我拉了图
  • docker pull nginx
  • 我正在运行容器
  • docker run --rm --name=some-nginx -p 8080:80 nginx
    但是当我在本地机器的浏览器中打开 localhost:8080 时,一直得到 http 400。来自 docker 输出的日志:
    172.17.0.1 - - [14/Dec/2017:23:07:11 +0000] "\x16\x03\x01\x00\xB5\x01\x00\x00\xB1\x03\x03\x81e|u\x93\xFC`Qo\xC8\xE6y\x18{%\x83\x8C\xC2a\xC93V\xB5;\xC0V\xDC\x10{\xC9)X\x00\x00\x1E\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 173 "-" "-" "-"

    怎么了?我检查了容器内的 nginx ( curl localhost ),它可以工作。

    谢谢你。

    最佳答案

    我现在明白了。这有点复杂,但我会尽量简化:

    您将 8080 主机端口绑定(bind)到 80 容器端口。因此,如果您执行 curl localhost在主机上,这意味着您不是在容器内调用 Nginx 服务,而是在您的 *nix 系统中调用 80 端口进程。同样,如果您在容器内发送相同的命令,它将起作用,因为它在容器内暴露了默认的 http 端口 (80),但在容器外没有。您可以调用 curl localhost:8080 来确认这个假设。 .如果这作为容器命令返回,那就对了。

    是否可以理解?

    关于macos - Docker nginx 容器 : http code 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47825698/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com