【问题标题】:Add new port in running docker compose在运行 docker compose 中添加新端口
【发布时间】:2018-03-16 12:51:19
【问题描述】:

我正在尝试将 SSL 证书添加到 wordpress 容器,但默认撰写配置仅重定向端口 80。

如何在正在运行的容器中添加新端口?我尝试修改 docker-compose.yml 文件并重新启动容器,但这并没有解决问题。

谢谢。

【问题讨论】:

    标签: wordpress docker docker-compose


    【解决方案1】:

    你应该在监听新端口时重新创建容器,像这样

    docker-compose up -d --force-recreate {CONTAINER}
    

    【讨论】:

      【解决方案2】:

      暴露端口。

      要么指定两个端口 (HOST:CONTAINER),要么只指定容器端口(选择一个临时主机端口)。

      注意:当映射 HOST:CONTAINER 格式的端口时,使用低于 60 的容器端口时可能会遇到错误的结果,因为 YAML 将 xx:yy 格式的数字解析为 base-60 值。因此,我们建议始终将端口映射明确指定为字符串。

      端口: - “3000” - “3000-3005” - “8000:8000” - “9090-9091:8080-8081” - “49100:22” - “127.0.0.1:8001:8001” - “127.0.0.1:5000-5010:5000-5010” - “6060:6060/udp” https://docs.docker.com/compose/compose-file/#pid

      【讨论】:

        【解决方案3】:

        将新端口添加到 docker-compose 文件后,我所做的是:

        1. 停止容器

          docker-compose stop

        2. 运行 docker-compose up 命令(注意:docker-compose start 不起作用)

          docker-compose up -d

        根据文档“docker-compose”命令:

        为服务构建、(重新)创建、启动和附加到容器 ...除非它们已经在运行

        用我配置的暴露端口启动了停止的服务。

        【讨论】:

        • 你不需要手动docker-compose stop现有的容器; Compose 知道它需要删除并重新创建它以添加端口,docker-compose up 将自行执行此操作(正如该问题的其他答案所具有的那样)。
        【解决方案4】:

        您是否尝试过像这个例子中的那样: https://docs.docker.com/compose/compose-file/#ports

        应该像这样工作:

        my-services:
            ports:
                - "80:80"
                - "443:443"
        

        【讨论】:

          【解决方案5】:

          您只需在docker-compose.yml 的端口部分添加新端口,然后您必须这样做

          docker-compose up -d
          

          因为它会再次读取 .yml 文件并重新创建容器。如果您只是重新启动,它将不会从 .yml 读取新配置,而只是重新启动同一个容器。

          【讨论】:

            猜你喜欢
            • 2016-07-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-07-11
            • 1970-01-01
            • 1970-01-01
            • 2020-05-25
            • 2020-04-22
            相关资源
            最近更新 更多