在运行的docker compose中添加新的端口

4 人关注

我试图在一个wordpress容器中添加SSL证书,但默认的编译配置只重定向80端口。

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

wordpress
docker
docker-compose
Veiga
Veiga
发布于 2018-03-16
5 个回答
SND-KNN
SND-KNN
发布于 2018-03-16
0 人赞同

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

docker-compose up -d --force-recreate {CONTAINER}
Alitlili
Alitlili
发布于 2018-03-16
0 人赞同

暴露端口。

要么指定两个端口(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

harleygolfguy
harleygolfguy
发布于 2018-03-16
0 人赞同

在你将新的端口添加到docker-compose文件后,我所做的工作是。

  • 容器停止工作

    docker-compose停止<服务名称>。

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

    docker-compose up -d

    根据文档,"docker-compose "命令。

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

    这就启动了停止的服务,并使用了我配置的暴露端口。

  • 你应该不需要手动让 docker-compose stop 现有的容器;Compose知道它需要删除并重新创建以添加端口, docker-compose up 会自己做这件事(正如这个问题的其他答案)。
    Jarosław Wojciechowski
    Jarosław Wojciechowski
    发布于 2018-03-16
    0 人赞同

    你是否尝试过像这个例子一样。 https://docs.docker.com/compose/compose-file/#ports

    应该像这样工作。

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