【发布时间】:2018-03-16 12:51:19
【问题描述】:
我正在尝试将 SSL 证书添加到 wordpress 容器,但默认撰写配置仅重定向端口 80。
如何在正在运行的容器中添加新端口?我尝试修改 docker-compose.yml 文件并重新启动容器,但这并没有解决问题。
谢谢。
【问题讨论】:
标签: wordpress docker docker-compose
我正在尝试将 SSL 证书添加到 wordpress 容器,但默认撰写配置仅重定向端口 80。
如何在正在运行的容器中添加新端口?我尝试修改 docker-compose.yml 文件并重新启动容器,但这并没有解决问题。
谢谢。
【问题讨论】:
标签: wordpress docker docker-compose
你应该在监听新端口时重新创建容器,像这样
docker-compose up -d --force-recreate {CONTAINER}
【讨论】:
暴露端口。
要么指定两个端口 (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
【讨论】:
将新端口添加到 docker-compose 文件后,我所做的是:
停止容器
docker-compose stop
运行 docker-compose up 命令(注意:docker-compose start 不起作用)
docker-compose up -d
根据文档“docker-compose”命令:
为服务构建、(重新)创建、启动和附加到容器 ...除非它们已经在运行
用我配置的暴露端口启动了停止的服务。
【讨论】:
docker-compose stop现有的容器; Compose 知道它需要删除并重新创建它以添加端口,docker-compose up 将自行执行此操作(正如该问题的其他答案所具有的那样)。
您是否尝试过像这个例子中的那样: https://docs.docker.com/compose/compose-file/#ports
应该像这样工作:
my-services:
ports:
- "80:80"
- "443:443"
【讨论】:
您只需在docker-compose.yml 的端口部分添加新端口,然后您必须这样做
docker-compose up -d
因为它会再次读取 .yml 文件并重新创建容器。如果您只是重新启动,它将不会从 .yml 读取新配置,而只是重新启动同一个容器。
【讨论】: