无法执行脚本docker-compose

时间:2019-03-08 22:59:25

标签: docker-compose

我使用mac 10.11.6 El capitan并安装了docker工具箱,但我尝试使用docker compose build选项,但出现以下错误,

kj$ docker-compose -f docker-compose-dev.yml build
Traceback (most recent call last):
  File "docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 124, in perform_command
  File "compose/cli/command.py", line 41, in project_from_options
  File "compose/cli/command.py", line 113, in get_project
  File "compose/config/config.py", line 380, in load
  File "compose/config/config.py", line 380, in <listcomp>
  File "compose/config/config.py", line 513, in process_config_file
  File "compose/config/config.py", line 221, in get_service_dicts
  File "distutils/version.py", line 46, in __eq__
  File "distutils/version.py", line 337, in _cmp
TypeError: '<' not supported between instances of 'str' and 'int'
[83046] Failed to execute script docker-compose

yml文件的内容

version: '3.3'

services:

  users:
    build:
      context: ./
      dockerfile: Dockerfile-dev
    volumes:
      - './:/usr/src/app'
    ports:
      - 5001:5000
    environment:
      - FLASK_APP=project/__init__.py
      - FLASK_ENV=development

我不确定是什么原因导致此问题,请提出您的建议,谢谢

10 个答案:

答案 0 :(得分:9)

这个问题的答案很简单,今天早上发生在我身上。完成项目工作后,我关闭了适用于Mac的docker应用程序(主要是错误提示它无法获取Docker和docker-compose的API版本)。 确保桌面版Docker正在运行,其他所有内容都应恢复正常。Check this image to see if docker desktop is running.

答案 1 :(得分:1)

我通过启动docker服务解决了它:

service docker start

答案 2 :(得分:1)

它在 Windows 中对我有用

控制面板 => 程序和功能 => 打开或关闭 Windows 功能 => 启用 Hyper-V

的所有选项

enter image description here

答案 3 :(得分:0)

在我这方面,我设法通过“重置为出厂默认值”(即在Docker首选项下)解决了这个问题。

答案 4 :(得分:0)

我遇到了与上述相同的问题:

[49326]无法执行脚本docker-compose

我正在使用Linux(ubuntu 20.04)

但是我想念的是,当我在下一步中完成docker安装时,它被称为linuxpost-install步骤。它明确指出,安装后,泊坞窗始终在根目录上运行。因此,在您在this链接上配置docker设置上的非root用户选项之前,应尝试在命令前使用 sudo

答案 5 :(得分:0)

总经理

这个问题的原因是,Docker(引擎)服务停止了。

请记住,在 Docker-Docs 中,您必须阅读“安装后步骤”到“配置 Docker 以在启动时启动”。

https://docs.docker.com/engine/install/linux-postinstall/#configure-docker-to-start-on-boot

即。 Redhat/CentOs

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

问候。

答案 6 :(得分:0)

对于尝试使用 Item 执行此操作的任何人,请将主机用户添加到 docker 组

在 ssh 主机上: getItem

https://docs.docker.com/engine/install/linux-postinstall/

答案 7 :(得分:0)

重启容器解决了我的问题。

答案 8 :(得分:-1)

将版本更改为双引号,对我有用。 版本:“ 3.3”

答案 9 :(得分:-1)

今天早上在10.14.6(18G87)MacOS上遇到了这个问题,昨天昨天一切运行正常之后,我才更新到今天早上。

发现我的compose.yml文件之一在该版本应使用双引号的情况下使用单引号。这为我解决了这个问题。这不是Docker-compose的错误。