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文件中。在入口點文件中提供腳本路徑。 –
謝謝,我會試試看。 –