0
我用Docker构建了一个Rails
图片,但现在我不知道如何使用Dockerfile来设置passenger
。Dockerfile自动运行乘客用Rails启动
我Dockerfile
现在
FROM username/my_app:latest
WORKDIR /my_app
# Expose port 3000 to the Docker host, so we can access it from the outside.
EXPOSE 3000
现在,我必须首先运行容器,然后执行这样的命令passenger
。
docker run -it -p 4321:3000 \
--name my_app \
username/my_app
然后键入
docker exec -itd my_app /bin/bash -c -l "whenever -iw"
docker exec -it my_app /bin/bash -c -l "passenger start"
最后,我可以访问我的应用程序在http://localhost:4321
有我只能用docker run ....
自动启动我的应用程序,并打开passenger start
的方法吗?
我试过这个,但它似乎不起作用。
FROM username/my_app:latest
WORKDIR /my_app
RUN whenever -iw
RUN passenger start
# Expose port 3000 to the Docker host, so we can access it from the outside.
EXPOSE 3000
它扔泊坞窗:'从后台程序错误响应:OCI运行时错误:container_linux.go:247:启动容器过程中造成“EXEC :\“只要-iw &&乘客启动\”:在$ PATH中找不到“可执行文件”。“ –
”无论是“程序包未安装”还是无法找到命令路径。首先手动启动容器,并检查这两个命令是否正确,并且如果像'when -iw && passenger start'那样运行就可以运行,或者可以使用/ bin/sh shell bydefault来检测这些二进制路径。如果两个命令不一起执行并单独工作,则创建shell脚本文件并将这两个命令添加到脚本中,并将此脚本添加到docker文件中。在入口点文件中提供脚本路径。 –
谢谢,我会试试看。 –