繁体   English   中英

在docker中运行shell.js调用shell脚本时出现node.js,出现乱码

[英]running node.js in docker calling a shell script , gibberish errors

我在Mac上运行nodejs应用程序。 Node.js代码正在调用Shell脚本来执行imagemagick

$baseDir/ffmpeg -i $FileName -vf scale=$scale:-1 -r $frate  $folderName/%04d.png

效果很好。

将所有内容放入Docker容器后,nodejs应用程序运行正常,可以通过localhost:3000进行访问。 但是,在另一方面,调用相同的Shell脚本则会输出以下错误,

ctv_processor/ffmpeg: 1: ctv_processor/ffmpeg: �����@
                                                     ��!H__PAGEZERO�__TEXT�D�__text__TEXT: not found
ctv_processor/ffmpeg: 2: ctv_processor/ffmpeg: Syntax error: word unexpected (expecting ")")

有什么线索这些胡言乱语的输出是什么?

关于锤子

更新资料

我将dockerfile更改为成功使用locale-gen,

FROM node:4-onbuild


# Set the locale
RUN apt-get clean && apt-get update
RUN apt-get install locales
RUN locale-gen en_US.UTF-8
RUN dpkg-reconfigure locales
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

但是,当我向容器中扑击时,它给了我

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
root@0a2290d00a2e:/usr/src/ctv_server_app# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

所以,还是乱码:(有什么想法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM