gpt4 book ai didi

intellij-idea - 无法使用IntelliJ插件运行脚本以进行Docker部署

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

环境:
我正在使用IntelliJ 14将Docker容器部署到本地计算机上的CoreOS(使用Vagrant和VirtualBox创建的VM)中。

设置:
我的Dockerfile应该运行一个安装脚本:

ADD setup.sh /tmp/setup.sh
RUN chmod +x /tmp/setup.sh
RUN /tmp/setup.sh

使用IntelliJ的Docker部署:
在运行docker deploy(使用IntelliJ)时,它会构建镜像,创建容器,但由于以下错误而无法运行我的脚本:
Step 5 : RUN /tmp/setup.sh

---> Running in cb36ed95ad50

[91m/bin/sh: 1: [0m
[91m/tmp/setup.sh: not found[0m
[91m
[0m
Error: The command '/bin/sh -c /tmp/setup.sh' returned a non-zero code: 127
Failed to deploy 'Deployment: Dockerfile: Dockerfile': The command '/bin/sh -c /tmp/setup.sh' returned a non-zero code: 127

使用Circle CI的Docker部署:
我还使用 circleci以便在AWS EC2(我的登台和生产环境)上连续部署Docker容器。
circleci与相同的docker文件和setup.sh脚本一起使用时,它运行正常。

有什么不同?

最佳答案

如果91m不属于/tmp/setup.sh的路径,则可能是行尾编码问题。

在ASCII中,行尾(回车CR)可以打印为m^M,方括号[编码为91

在Windows中,行尾由CR+LF字符表示,在Unix中仅由LF表示。

您可以尝试将setup.sh文件格式从Windows转换为Unix。
有许多工具可以为您做到这一点。在Unix上,我通常使用dos2unix。在Windows上,我通常使用notepad++

这是在dos2unix上运行它的方法:

  • 在您的CoreOS计算机上,安装名为dos2unix的软件包并运行以下命令:

    dos2unix setup.sh


  • 这是与 notepad++结合使用的方法:
  • 在Windows机器上安装 notepad++

    • Open setup.sh with notepad++
    • Go to Edit > EOL Conversion > Unix/OSX Format
    • Save the file

  • 再次使用新的 setup.sh运行docker部署,希望它能解决您的问题。

    关于intellij-idea - 无法使用IntelliJ插件运行脚本以进行Docker部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35018864/

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