【问题标题】:docker-compose error Unicode-objects must be encoded before hashingdocker-compose 错误 Unicode 对象必须在散列之前进行编码
【发布时间】:2015-06-23 08:07:50
【问题描述】:

我从几天开始就开始使用 docker,我想创建一个包含多个容器的新项目,所以我尝试了 docker-compose,但是当我尝试启动 docker-compose run river 时,我有这个堆栈跟踪:

Traceback(最近一次调用最后一次):

  File "/bin/docker-compose", line 9, in <module>
    load_entry_point('docker-compose==1.3.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3.4/site-packages/compose/cli/main.py", line 31, in main
    command.sys_dispatch()
  File "/usr/lib/python3.4/site-packages/compose/cli/docopt_command.py", line 21, in sys_dispatch
    self.dispatch(sys.argv[1:], None)
  File "/usr/lib/python3.4/site-packages/compose/cli/command.py", line 34, in dispatch
    super(Command, self).dispatch(*args, **kwargs)
  File "/usr/lib/python3.4/site-packages/compose/cli/docopt_command.py", line 24, in dispatch
    self.perform_command(*self.parse(argv, global_options))
  File "/usr/lib/python3.4/site-packages/compose/cli/command.py", line 66, in perform_command
    handler(project, command_options)
  File "/usr/lib/python3.4/site-packages/compose/cli/main.py", line 304, in run
    insecure_registry=insecure_registry,
  File "/usr/lib/python3.4/site-packages/compose/project.py", line 226, in up
    for service in services
  File "/usr/lib/python3.4/site-packages/compose/project.py", line 230, in <listcomp>
    do_build=do_build,
  File "/usr/lib/python3.4/site-packages/compose/service.py", line 320, in execute_convergence_plan
    do_build=do_build,
  File "/usr/lib/python3.4/site-packages/compose/service.py", line 215, in create_container
    previous_container=previous_container,
  File "/usr/lib/python3.4/site-packages/compose/service.py", line 510, in _get_container_create_options
    config_hash = self.config_hash()
  File "/usr/lib/python3.4/site-packages/compose/service.py", line 398, in config_hash
    return json_hash(self.config_dict())
  File "/usr/lib/python3.4/site-packages/compose/utils.py", line 8, in json_hash
    h.update(dump)
TypeError: Unicode-objects must be encoded before hashing

这是我的 docker-compose.yml :

river:
  build: .
  volumes: ./code
  command: python main/main.py
  links:
    - es
    - db
kibana:
  image: kibana
  ports:
    - "5601:5601"
  links:
    - es
db:
  image: mysql
  ports:
    - "3306:3306"
es:
  image: elasticsearch
  ports:
    - "9002:9002"

编辑

这是我的 Dockerfile

FROM python:3.4

RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

感谢您以后的帮助:)

【问题讨论】:

  • 对于riverDockerfile 怎么样?
  • 我将它添加到问题中!

标签: python docker docker-compose


【解决方案1】:

docker-compose 不支持 python3。您需要使用python2.7运行并安装它。

【讨论】:

    猜你喜欢
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多