Docker-compose 在 M1 mac 上的 VM (Parallels) 中
Posted
技术标签:
【中文标题】Docker-compose 在 M1 mac 上的 VM (Parallels) 中【英文标题】:Docker-compose in a VM (Parallels) on a M1 mac 【发布时间】: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。
有谁知道如何解决这个问题?提前致谢。
【问题讨论】:
【参考方案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 有几种选择:
-
使用python:
sudo apt update
sudo apt install -y python3-pip libffi-dev
sudo pip3 install docker-compose
-
安装 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。
【讨论】:
以上是关于Docker-compose 在 M1 mac 上的 VM (Parallels) 中的主要内容,如果未能解决你的问题,请参考以下文章
使用docker-compose部署达梦DEM管理工具,mac m1系列适用