运行堆栈Docker容器

我对Stack的Docker集成感到困惑。

我设法创build一个图像,通过将stack.yml部分添加到stack.yml使用enable: true ,如集成指南中所述 。

我也可以通过使用在本地启动项目

stack --docker-run-args='--net=bridge --publish=8081:8081' exec myproject

我导航到本地主机:8081 – 作品,太棒了。

但是,如何仅使用Docker启动项目? 用这个我启动容器:

docker run -d --restart=always --net=bridge --publish=8081:8081 myproject

但在这一点上似乎没有任何运行。 如果我导航到本地主机:8081我得到连接拒绝。

问题解决了!

正如Stack的文档的另一部分所描述的那样,它没有在容器中启动项目。 特别:

  • 手动启动可执行文件,该文件位于容器中的/usr/local/bin/中(不是很方便)

  • 或者通过将stack.yaml添加到以下内容来configurationStack来自动启动可执行文件:

     image: containers: - name: "myimage" base: "baseimage" entrypoints: - myexecutable 

在此之后,运行stack image container来构build映像(在此之前,也可能需要运行stack build )。

然后确保图像被创build/检查名称:

docker image ls

最后,运行它:

 docker run --net=bridge --publish=8081:8081 myimage