运行堆栈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