【问题标题】:Docker-compose in a VM (Parallels) on a M1 macDocker-compose 在 M1 mac 上的 VM (Parallels) 中
【发布时间】:2021-08-15 19:19:05
【问题描述】:

目前我正在尝试让 docker-compose 在我的带有 M1 处理器的 Mac 上的 VM(Ubuntu 20.04)中运行。我已经通过 curl 在我的 VM 上安装了 docker 和 docker 机器。 Docker-compose 我尝试安装如下:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

安装似乎成功,但如果我尝试通过“sudo docker-compose --version”检查版本,它会显示:“/usr/local/bin/docker-compose: 1: Not: not found” .

在 ubuntu 中,由于我的 M1,它说它是 aarch64。

有谁知道如何解决这个问题?提前致谢。

【问题讨论】:

    标签: docker-compose ubuntu-20.04 apple-m1


    【解决方案1】:

    我认为您需要执行chmod 744 /usr/local/bin/docker-compose 才能使其只能由其所有者执行,其他所有人都可以读取。 chown root /usr/local/bin/docker-compose 将使其成为所有者 root(因此您只能使用 sudo 运行它)。

    /usr/local/bin 也可能不在您的路径中。通过输入echo $PATH 进行检查。如果它不在那里,您可以将 docker-compose 符号链接到可识别的路径 (sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose) 或执行 export $PATH="/usr/local/bin:$PATH" 以将其添加到您的路径中。如果您执行which docker-compose,它应该会显示出来(显示程序的路径)。

    【讨论】:

    • 我按照你的建议试过了。 /usr/local/bin 不是路径的一部分,所以谢谢!不幸的是,“docker-compose --version”仍然抛出“/usr/local/bin/docker-compose: 1: Not: not found”。我尝试通过 curl 再次下载它,Ubuntu 现在弹出一个错误,说:“检测到系统程序问题”。 “sudo which docker-compose”说它在 /usr/local/bin/docker-compose”。感谢您的详细说明。
    • 它可能不会让你覆盖这样的可执行二进制文件:) 顺便说一下,你不需要 sudo 来使用 docker compose。但是如果我没记错的话,我认为你应该把你的用户放在 docker 组中
    【解决方案2】:

    您会看到“/usr/local/bin/docker-compose: 1: Not: not found”,因为这是文件的内容 - curl 收到 404 响应并将状态消息写入目标文件。 在 arm64 ubuntu 上安装 docker-compose 有几种选择:

    1. 使用python:
    sudo apt update
    sudo apt install -y python3-pip libffi-dev
    sudo pip3 install docker-compose
    
    1. 安装 beta v2 docker-compose beta(在 mac 或 linux 上):
    sudo curl -L https://github.com/docker/compose-cli/releases/download/v2.0.0-beta.3/docker-compose-`uname -s`-arm64 -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    

    或者从https://github.com/docker/compose-cli/releases/tag/v2.0.0-beta.3手动下载。 该工具的 API 会有所不同。

    您还可以跟踪此讨论以获得正确的解决方案 - https://github.com/docker/compose/issues/6831

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 2021-10-19
      相关资源
      最近更新 更多