我有一个带有Dockerfile + docker-compose的应用程序。
Dockerfile docker-compose.yml
我有一个配置项,可从我的dockerfile创建映像并将其发送到集线器。
Travis.yaml
当我将此图像放到cloud
服务器上时,无法通过运行以下命令来运行该图像:
docker run -d -p 80:80 flask-example
因为容器死了。
除了由travis编译后从hub.docker下载的映像外,我是否需要在服务器上使用docker-compose?执行命令:
docker-compose up -d
要运行该应用程序?还是有另一种方法?
谢谢大家。
答案 0 :(得分:2)
使用-d
标志运行docker会分离您的容器,这意味着它在后台运行。
因此,您看不到错误。只需删除该标志,您就会明白它为什么死了。
从指向您的docker-compose
文件的链接看来,端口80已被使用(frontend
容器已使用),因此也许您可以尝试使用其他端口?
(例如:docker run -d -p 8080:80 flask-example
)
第二,您是对的。
docker-compose
只是运行容器的另一种方法。您不必同时使用两者。