我正在MAC M1中运行这个Docker文件:
Dockerfile
ARG VARIANT=16-bullseye
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends vim wget redis-tools
ARG MONGO_CLI_VERSION=4.4
RUN wget -qO - https://www.mongodb.org/static/pgp/server-${MONGO_CLI_VERSION}.asc | sudo apt-key add -
RUN echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/${MONGO_CLI_VERSION} main" | tee /etc/apt/sources.list.d/mongodb-org-${MONGO_CLI_VERSION}.list
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends mongodb-mongosh \
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
RUN wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian11-x86_64-100.5.3.deb
RUN apt install ./mongodb-database-tools-*-100.5.3.deb
RUN su node -c "wget -O ~/.git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash"
RUN su node -c "echo -e '\n# Git Completion' >> ~/.bashrc"
RUN su node -c "echo -e 'source ~/.git-completion.bash\n' >> ~/.bashrc"
响应显示在所附的图像中。
发布于 2022-07-15 05:18:19
在这条线上:
RUN wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian11-x86_64-100.5.3.deb
您正在尝试在您的mongodb-database-tools-debian11-x86_64-100.5.3.deb
映像中安装一个名为mongodb-database-tools-debian11-x86_64-100.5.3.deb
的包,该包用于英特尔处理器(x64_64)。那是行不通的。
MongoDB似乎没有为ARM64上的Debian提供他们的下载页面上的包。他们确实为Ubuntu ARM64提供了一个。
似乎没有建立在Ubuntu18Bionic基础上的javascript-node
变体,但是,我认为您可以继续使用这个Debian 11 Bullseye变体,因为MongoDB版本-- Ubuntu 16的数据库工具似乎安装得很好:
RUN wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu1604-arm64-100.5.3.deb
构建映像和测试:
docker build -t test . ; docker run --rm test mongodump --version
mongodump version: 100.5.3
git version: 139703c0587796da96c367f365473d0266f9cede
Go version: go1.17.10
os: linux
arch: arm64
compiler: gc
如果希望在x86和ARM上同时构建此映像,请在下载.deb之前检查所使用的架构:
RUN if [ "$(arch)" = "aarch64" ] || [ "$(arch)" = "arm64" ]; then\
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu1604-arm64-100.5.3.deb;\
else\
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian11-x86_64-100.5.3.deb;\
fi;
RUN apt install ./mongodb-database-tools-*-100.5.3.deb
发布于 2022-07-14 14:00:32
尝试另一个平台,例如x86_64
https://docs.docker.com/desktop/mac/apple-silicon/
并不是所有的映像都可以用于ARM64体系结构。您可以添加-platform linux/ add 64来在仿真中运行Intel映像。
https://stackoverflow.com/questions/72986844
复制