我有一个带有 Dockerfile + docker-compose 的应用程序。
Dockerfile docker-compose.yml
我有一个 CI,它从我的 dockerfile 创建一个图像并将其发送到 hub.docker
Travis.yaml
当我将这个图像放到我的cloud
服务器上时,我无法通过运行以下命令来运行这个图像:
docker run -d -p 80:80 flask-example
因为容器死了。
除了 travis 编译后从 hub.docker 下载的图像,我的服务器上还需要 docker-compose 吗?执行命令:
docker-compose up -d
运行应用程序?或者有其他方法可以做到吗?
谢谢你们。
运行带有-d
标志的 docker 会分离您的容器,这意味着它在后台运行。因此,您看不到错误。只需移除此标志,您就会明白它为什么会消亡。
从指向您的docker-compose
文件的链接来看,似乎端口 80 已被使用(由frontend
容器),所以也许您可以尝试使用不同的端口?(例如:docker run -d -p 8080:80 flask-example
)
其次,你是对的。docker-compose
只是运行容器的另一种方式。您不必同时使用两者。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句