gpt4 book ai didi

python - Azure应用服务: specifying docker run port on container side

转载 作者:行者123 更新时间:2023-12-01 06:32:19 25 4
gpt4 key购买 nike

我想使用scrapinghub/splash Linux 上的 Azure 应用服务(容器 Web 应用)上的容器。
但是deploy时的docker run命令会随机改变容器端的绑定(bind)端口(见下面的日志,端口8961是自动分配的,这个数字每次deploy都不同)

2020-01-21 08:56:47.494 INFO - docker run -d -p 8961:8050 --name b2scraper-splash_3_d89ce1f2 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=8050 -e WEBSITE_SITE_NAME=b2scraper-splash -e WEBSITE_AUTH_ENABLED=False -e PORT=8050 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=b2scraper-splash.azurewebsites.net -e WEBSITE_INSTANCE_ID=5446f93a2cbcb25300f091395c54ce738773ce47489c2818322ffabbc23e3413 scrapinghub/splash:latest python3 /app/bin/splash --proxy-profiles-path /etc/splash/proxy-profiles --js-profiles-path /etc/splash/js-profiles --filters-path /etc/splash/filters --lua-package-path "/etc/splash/lua_modules/?.lua" --disable-private-mode --port 8050

可以使用 WEBSITES_PORT 更改主机端口绑定(bind),但似乎无法更改容器端。
有没有办法修复容器端端口绑定(bind),例如 docker run 命令的 -p 8050:80-p 8050:443

例如可以在 Azure 容器实例上使用容器,而无需更改服务端口 8050。

最佳答案

docker run 命令中的

--publish 创建一条防火墙规则,将容器端口映射到 Docker 主机上的端口。

https://docs.docker.com/config/containers/container-networking/

对于命令:docker run -d -p 8961:8050 imagename,容器中的 TCP 端口 8050 映射到 Docker 主机上的 8961。在应用服务上,无法更改此 docker run 命令。可以使用 WEBSITES_PORT 应用程序设置将容器端口(在本例中为 8050)设置为特定值。

关于python - Azure应用服务: specifying docker run port on container side,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838337/

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