运行 容器启动失败时执行 b。 Docker 适用于 Windows
Run execlineb when container start failed. Docker for windosw
我正在尝试 运行 启动后 docker 容器内的简单脚本。最初,以前的开发人员决定在内部使用 s6。
#!/usr/bin/execlineb -P
foreground { sleep 2 }
nginx
当我尝试开始时收到这条消息
execlineb: usage: execlineb [ -p | -P | -S nmin | -s nmin ] [ -q | -w | -W ] [ -c commandline ] script args
执行此脚本或 execline 似乎有问题。
我在 windows10 下为 windows 使用 docker,但是如果其他人试图在 ubuntu(或任何其他 linux) 一切正常。
任何人都可以帮助解决此类问题吗?
DockerImage:简单alpine
根据我们对这个 "HUGE" 问题的研究,我们找到了两种解决方法。肯定是特殊符号的问题,比如 '\r'
选项 1 dostounix:
在你的容器中安装 dostounix(在 docker 文件中)
运行 apk --no-cache 添加 \
dos2unix \
运行 它违反了你的 sh 脚本。
运行 {PathToYourFiles} 中的文件;做 \
dos2unix $文件; \
chmod a+xwr $文件; \
完成
- 欣赏你的剧本。
选项 2 VsCode(或任何文本编辑器):
- 将CRLF'End Of Line Sequence'更改为LF
VS Code bottom panel
Line endings options
- 欣赏你的剧本。
我正在尝试 运行 启动后 docker 容器内的简单脚本。最初,以前的开发人员决定在内部使用 s6。
#!/usr/bin/execlineb -P
foreground { sleep 2 }
nginx
当我尝试开始时收到这条消息
execlineb: usage: execlineb [ -p | -P | -S nmin | -s nmin ] [ -q | -w | -W ] [ -c commandline ] script args
执行此脚本或 execline 似乎有问题。
我在 windows10 下为 windows 使用 docker,但是如果其他人试图在 ubuntu(或任何其他 linux) 一切正常。
任何人都可以帮助解决此类问题吗?
DockerImage:简单alpine
根据我们对这个 "HUGE" 问题的研究,我们找到了两种解决方法。肯定是特殊符号的问题,比如 '\r'
选项 1 dostounix:
在你的容器中安装 dostounix(在 docker 文件中)
运行 apk --no-cache 添加 \ dos2unix \
运行 它违反了你的 sh 脚本。
运行 {PathToYourFiles} 中的文件;做 \ dos2unix $文件; \ chmod a+xwr $文件; \ 完成
- 欣赏你的剧本。
选项 2 VsCode(或任何文本编辑器):
- 将CRLF'End Of Line Sequence'更改为LF VS Code bottom panel Line endings options
- 欣赏你的剧本。