【问题标题】:Failed to execute script docker-compose执行脚本 docker-compose 失败
【发布时间】:2019-03-08 22:59:24
【问题描述】:

我使用 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

我不知道是什么原因导致这个问题,请提出您的建议,谢谢

【问题讨论】:

  • 您的docker-compose-dev.yml 文件中有什么内容?看起来它可能与 Python 模块有关。
  • 去掉yaml文件中多余的空白新行
  • @Herman 我没有多余的空白

标签: docker-compose


【解决方案1】:

这个问题的答案很简单,今天早上发生在我身上。当我完成我的项目时,我关闭了 Mac 的 docker 应用程序(主要是错误说它无法获取 Docker 和/或 docker-compose 的 API 版本)。 确保您的桌面版 Docker 正在运行,其他一切都应该恢复正常。Check this image to see if docker desktop is running.

【讨论】:

  • 我读了这篇文章,认为这是傻瓜的答案,然后几分钟后意识到这是我需要的答案!卫生部
  • @danday74 感谢您添加该评论,因为我和您一样...但是根据您的确认,我试了一下,它也为我解决了问题。
【解决方案2】:

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

service docker start

【讨论】:

  • 在 2020 年 12 月 30 日为我工作。只是调整日期
  • 这对我有用,只需要:sudo service docker start。有没有办法用VSC里面的Docker插件启动它?
【解决方案3】:

我遇到了上面提到的同样的问题:

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

我使用的是 Linux(ubuntu 20.04)

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

【讨论】:

  • Ubuntu 为我在 WSL 中做 docker java 教程 (docs.docker.com/language/java/build-images)。重新启动外壳对我有用。我已经删除了这个板上的图像和其他东西,但没有用。谢天谢地,这个“sudo”建议也没有,因为它看起来非常可怕。
【解决方案4】:

在我这边,我设法通过“重置为出厂默认设置”解决了这个问题,即在 docker 首选项下。

【讨论】:

    【解决方案5】:

    它在 Windows 中为我工作

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

    的所有选项

    【讨论】:

    • 这不是原始问题的答案。 OP 提到的是 Mac OS,而不是 Windows。
    【解决方案6】:

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

    在 ssh 主机上: sudo usermod -aG docker $USER

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

    【讨论】:

      【解决方案7】:

      只需确保 Docker 应用程序已在您的机器上打开

      【讨论】:

      • 您好,您必须详细说明此答案,例如如何检查以及为什么?
      【解决方案8】:

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

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

      【讨论】:

        【解决方案9】:

        总经理

        这个问题的原因是,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
        

        问候。

        【讨论】:

          【解决方案10】:

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

          【讨论】:

            【解决方案11】:

            我正在使用 WSL 2,我必须启用与我正在使用的 WSL 发行版的集成。它位于“设置”>“资源”>“WSL 集成”中。

            【讨论】:

              【解决方案12】:

              我试图用以下命令来放松我的背部: docker-compose up --build

              我收到了这条消息:

              docker.errors.DockerException: 获取服务器 API 版本时出错: ('Connection aborted.', PermissionError(13, 'Permission denied')) [5884] 执行脚本 docker-compose 失败

              我所要做的就是在上述命令前添加“sudo”。 sudo docker-compose up --build 在此之后我的背部被启动:))

              【讨论】:

                【解决方案13】:

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

                【讨论】:

                • 当我从站点复制版本:“3.3”时,它不起作用。我的机器没有解释双引号。所以,我删除并输入了“,它现在可以工作了。
                猜你喜欢
                • 2018-02-22
                • 2020-01-27
                • 1970-01-01
                • 1970-01-01
                • 2019-05-19
                • 2020-06-15
                • 2022-01-16
                • 2011-06-28
                • 2021-05-18
                相关资源
                最近更新 更多