Can';由于未知原因,无法使Nginx在Windows上的Docker环境下运行

Can';由于未知原因,无法使Nginx在Windows上的Docker环境下运行,windows,docker,nginx,laradock,Windows,Docker,Nginx,Laradock,所以,在过去的一周左右,我一直在努力让我的nginx服务器运行Docker/Laradock。奇怪的是,当我在C:/上运行它时,它起了作用,但在工作人员告诉我必须加密我的磁盘后,我下载了VeraCrypt并制作了一个加密驱动器Y:,然后将我的vhosts文件夹复制到那里 在尝试连接laradock\u nginx\u 1的过程中,我做了很多努力,因为我认为Docker Toolbox可能无法访问Y:/drive。这似乎是可行的,但在尝试启动并运行nginx时,我仍然会遇到一个奇怪的错误: Y:

所以,在过去的一周左右,我一直在努力让我的nginx服务器运行Docker/Laradock。奇怪的是,当我在C:/上运行它时,它起了作用,但在工作人员告诉我必须加密我的磁盘后,我下载了VeraCrypt并制作了一个加密驱动器Y:,然后将我的vhosts文件夹复制到那里

在尝试连接
laradock\u nginx\u 1
的过程中,我做了很多努力,因为我认为Docker Toolbox可能无法访问Y:/drive。这似乎是可行的,但在尝试启动并运行nginx时,我仍然会遇到一个奇怪的错误:


Y:\vhosts\laradock>docker组合nginx
警告:未设置PHP_FPM_INSTALL_标记器变量。默认为空字符串。
laradock_工作区_1是最新的
正在启动laradock_docker-in-docker_1。。。完成
正在启动laradock_php-fpm_1。。。完成
正在启动laradock_nginx_1。。。完成
连接到laradock_nginx_1
nginx_1 |/opt/startup.sh:第2行:$'\r':未找到命令
nginx_1 |/opt/startup.sh:第10行:语法错误:文件意外结束
laradock_nginx_1退出,代码为2

在其他地方读到,
\r
只是Windows的行尾。我试图将cd刻录到
/opt/startup.sh
,但它似乎不存在。我发现在
laradock/nginx/
内部有另一个
startup.sh
,我用ssh进入Docker虚拟机,看到每一行都以
^M
结尾,我怀疑这可能是
\r
。我删除了这些,但没有真正改变,仍然有同样的问题

在ssh中,我还使用
hextump startup.sh|grep 0d0a
对启动bash文件进行了hextump,但没有任何结果。我无法找到解决方案,也不确定还能做些什么。请注意,Docker for Windows或BitLocker是不可能的,因为我只有Windows 10 Home


我该怎么解决这个问题呢?这是一个已知问题吗?

您可以尝试将
laradock\nginx\startup.sh
文件的windows样式的行尾转换为linux样式的行尾,即使用记事本++(编辑>下线转换>Unix(LF))

然后尝试使用重建选项启动nginx容器:


docker compose up——build nginx

非常感谢,我在最后一天几乎哭了出来。