我正在运行我的 nodejs 和区 block 链代码。我用 dockerfile 和 docker compose 创建了一个 Docker 容器,但在运行 docker-compose up 时出现错误。
这是控制台上的回溯:
Traceback (most recent call last):
File "docker-compose", line 6, in <module>
File "compose/cli/main.py", line 68, in main
File "compose/cli/main.py", line 121, in perform_command
File "compose/cli/main.py", line 938, in up
File "compose/project.py", line 430, in up
File "compose/service.py", line 317, in ensure_image_exists
File "compose/service.py", line 918, in build
File "site-packages/docker/api/build.py", line 238, in build
File "site-packages/docker/api/build.py", line 285, in _set_auth_headers
File "site-packages/docker/auth.py", line 97, in resolve_authconfig
File "site-packages/docker/auth.py", line 125, in _resolve_authconfig_credstore
File "site-packages/dockerpycreds/store.py", line 25, in get
File "site-packages/dockerpycreds/store.py", line 57, in _execute
File "subprocess.py", line 711, in __init__
File "subprocess.py", line 1343, in _execute_child
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
Failed to execute script docker-compose
我的 docker-compose.yml 是:
version: '2'
services:
node-app:
build: app
ports:
- "4000:8080"
volumes:
- ./app/src:/myapp/src
depends_on:
- ethernet_server
environment:
- ETHEREUM_CLIENT_IP=http://192.168.178.22
- ETHEREUM_CLIENT_PORT=8545
ethernet_server:
build: testrpc
我不知道出了什么问题。有人可以帮我解决吗?
最佳答案
将下面提到的行粘贴到您的 docker 文件中。它将修复 unicode 错误。
RUN apt-get update -y
RUN apt-get install --reinstall -y locales
# uncomment chosen locale to enable it's generation
RUN sed -i 's/# pl_PL.UTF-8 UTF-8/pl_PL.UTF-8 UTF-8/' /etc/locale.gen
# generate chosen locale
RUN locale-gen pl_PL.UTF-8
# set system-wide locale settings
ENV LANG pl_PL.UTF-8
ENV LANGUAGE pl_PL
ENV LC_ALL pl_PL.UTF-8
关于docker-compose 给出错误 UnicodeDecodeError : 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47013840/