我試圖建立一個碼頭集裝箱,但它似乎沒有找到我的start.sh。它將它複製到容器中,但它以某種方式不起作用。試圖建立一個碼頭集裝箱,start.sh找不到
這是我dockerfile:
FROM ubuntu:16.04
# Install Meteor
RUN apt-get update
RUN apt-get install -y curl
RUN curl https://install.meteor.com/ | sh
RUN meteor npm install --save highcharts
# Entypointscript
COPY start.sh/
RUN chmod u+x /start.sh
# Copy App
COPY /app /app
# UI Expose
EXPOSE 80
ENTRYPOINT /start.sh
這是我的start.sh:
#!/bin/bash
sleep 20
/app/meteor run
# don't exit
/usr/bin/tail -f /dev/null
而且我不知道在start.sh該流星運行命令。我如何告訴流星運行在特定的目錄下執行,而不能進入它?
我使用的是Windows 10. 我在\ app \目錄中有我的流星應用程序,並且在與app文件夾相同的目錄中有Dockerfile和start.sh。
我使用以下代碼構建容器:docker build -t meteorapp。
當我嘗試使用運行錯誤:
搬運工運行-p 80:80 --net泊塢窗網--name meteorapp meteorapp
是:
/bin/sh的:1:/start.sh:找不到
謝謝v很多!
你檢查過文件結尾是否正確? – R0MANARMY
錯誤在於找不到'/ bin/bash^M',因爲換行符在Linux和Windows之間不兼容。所以「文件未找到」不是一個錯誤,但可能會造成混淆,你不知道哪個文件沒有被找到,爲什麼。 – BMitch