运行docker-compose构build时的UnicodeEncodeError

在运行docker-compose构build时,我得到一个Python UnicodeEncodeError和docker-compose在构build期间崩溃。 我在网上search了很多东西,发现了一些build议将语言环境设置为C.UTF8的post,但这似乎并没有解决我的问题。

这是完整的错误:

Traceback (most recent call last): File "/usr/bin/docker-compose", line 11, in <module> load_entry_point('docker-compose==1.17.0', 'console_scripts', 'docker-compose')() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 68, in main command() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 121, in perform_command handler(command, command_options) File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 249, in build build_args=build_args) File "/usr/lib/python3.6/site-packages/compose/project.py", line 343, in build service.build(no_cache, pull, force_rm, build_args) File "/usr/lib/python3.6/site-packages/compose/service.py", line 927, in build all_events = stream_output(build_output, sys.stdout) File "/usr/lib/python3.6/site-packages/compose/progress_stream.py", line 23, in stream_output print_output_event(event, stream, is_terminal) File "/usr/lib/python3.6/site-packages/compose/progress_stream.py", line 90, in print_output_event stream.write("%s%s" % (event['stream'], terminator)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 58-60: ordinal not in range(128) 

这是我的Dockerfile:

 FROM node:boron WORKDIR /usr/src/app COPY package.json package-lock.json ./ RUN npm install RUN apt-get clean && apt-get update && apt-get install -y locales RUN locale-gen C.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 ENV PYTHONIOENCODING UTF-8 COPY . . RUN npm install --global bower WORKDIR /usr/src/app/public RUN bower install --allow-root WORKDIR /usr/src/app EXPOSE 8080 ENTRYPOINT ["npm"] CMD ["start"] 

我的docker-compose版本是1.17.0。

我的问题是,我使用Arch Linux AUR上提供的docker-compose的过期版本。 我从docker的网站下载了tarball,它解决了这个问题。