gpt4 book ai didi

docker - sh 在 docker : syntax error: unexpected end of file (expecting "then") 上

转载 作者:行者123 更新时间:2023-12-02 19:09:34 25 4
gpt4 key购买 nike

我正在从 Dockerfile 运行startup.sh 脚本,当我运行 docker 容器时,出现以下错误:

docker run -p 5308:5308 activity-logger
: not found line 2:
: not found line 5:
startup.sh: line 13: syntax error: unexpected end of file (expecting "then")

如果我尝试运行 sh startup.sh从我的命令行来看,它似乎运行良好。有什么想法吗?

startup.sh

#!/bin/sh

export env_file=`echo microservice-configuration/$LS_ENVIRONMENT.environment.properties`
export startup_command="npm run start:dist"

if [ -f $env_file ]; then
echo "Using environment specific configuration file $env_file"
env $(cat $env_file | xargs) $startup_command
else
echo "There is no environment specific configuration file $env_file"
$startup_command
fi

Dockerfile

FROM node:6.9.4-alpine

# Create app directory
RUN mkdir -p /opt/app
WORKDIR /opt/app
COPY . /opt/app

RUN npm install -g yarn
RUN yarn
RUN yarn build
# This is not working very well - the dependencies cannot be installed afterwards
# RUN yarn --production

ENV NODE_ENV production

EXPOSE 5308

CMD ["/bin/sh", "startup.sh"]

最佳答案

:未找到第 2 行:

这表明该文件中的空格存在一些问题。最可能的原因是在 Windows 上编辑脚本并获得错误的换行符。停止使用您正在使用的任何编辑器,并使用更好的编辑器或像 dos2unix 这样的实用程序来修复脚本。

关于docker - sh 在 docker : syntax error: unexpected end of file (expecting "then") 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42120317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com