gpt4 book ai didi

windows - 由于未知原因,无法在 Windows 上的 Docker 环境下运行 Nginx

转载 作者:可可西里 更新时间:2023-11-01 09:47:06 26 4
gpt4 key购买 nike

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

在试图让 laradock_nginx_1 附加很多努力之后,我遵循了 this guide ,因为我认为 Docker Toolbox 可能无法访问 Y:/驱动器。这似乎可行,但在尝试启动和运行 nginx 时我仍然遇到一个奇怪的错误:


Y:\vhosts\laradock>docker-compose up nginx
警告:未设置 PHP_FPM_INSTALL_TOKENIZER 变量。默认为空字符串。
laradock_workspace_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 VM 并看到每一行都以 ^M 结尾,我怀疑它可能是 \r。我删除了那些,但没有真正改变,仍然遇到同样的问题。

在 ssh 中,我还使用 hexdump startup.sh | 对启动 bash 文件进行了 hexdump | grep 0d0a,但什么也没有。我不知所措,也不确定我还能尝试做什么。请注意,Docker for Windows 或 BitLocker 是不可能的,因为我只有 Windows 10 Home。

我可以尝试什么来解决这个问题?这是一个已知问题吗?

最佳答案

你可以尝试将laradock\nginx\startup.sh文件的windows风格的行尾转换成linux风格的行尾,即用Notepad++ (编辑 > EOL 转换 > Unix (LF))。

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

docker-compose up --build nginx

关于windows - 由于未知原因,无法在 Windows 上的 Docker 环境下运行 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356394/

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