无法在Docker环境中使用Heroku CLI
在开发一个使用Heroku CLI进行部署的Ruby应用程序时,我遇到了一个问题,即试图将整个应用程序集成到Docker Compose工作流和微服务体系结构中 长话短说,我正在运行一个容器,该容器运行命令:heroku local:start-p5000启动一个本地heroku服务器并公开端口5000,因此可以在以下位置访问heroku应用程序 我将容器的端口5000绑定到主机上的端口5000。当我在主机上访问时,我无法访问Heroku应用程序。如果我在非Docker环境中运行该命令,同样的事情也可以完美地工作 我对Docker和端口转发非常有经验,因此我几乎可以肯定问题不在于撰写文件或端口如何转发。问题似乎与Heroku CLI有关,以及它如何将端口暴露给运行它的环境无法在Docker环境中使用Heroku CLI,docker,heroku,Docker,Heroku,在开发一个使用Heroku CLI进行部署的Ruby应用程序时,我遇到了一个问题,即试图将整个应用程序集成到Docker Compose工作流和微服务体系结构中 长话短说,我正在运行一个容器,该容器运行命令:heroku local:start-p5000启动一个本地heroku服务器并公开端口5000,因此可以在以下位置访问heroku应用程序 我将容器的端口5000绑定到主机上的端口5000。当我在主机上访问时,我无法访问Heroku应用程序。如果我在非Docker环境中运行该命令,同样的事
要重现此问题,只需签出此提交并运行docker compose up:我相信如果您绑定到0.0.0.0,这将起作用 另外,为了方便起见,为了避免在每个调试周期中重建,我将添加一个卷装载:
# docker-compose.yml
version: '3'
services:
web:
build: ./
volumes:
- .:/usr/src/app
ports:
- "5000:5000"
只是检查一下基本情况;启动服务并等待几秒钟后,“docker ps”是否显示服务正在运行?如果没有,docker logs{service_name}是否提供任何输出?听起来您的网络/端口配置是正确的;这就是我关注服务输出的原因。但是,如果服务正在运行,您能否“telnet localhost 5000”并接收到成功的连接
# docker-compose.yml
version: '3'
services:
web:
build: ./
volumes:
- .:/usr/src/app
ports:
- "5000:5000"