При тестировании определенной версии проекта хранилище на macOS (version 10.13.6
), используя Docker 18.06.10-ce-mac73
, я создал этот Dockerfile:
FROM ubuntu
RUN apt-get update && apt-get install -y --no-install-recommends -q curl build-essential ca-certificates git net-tools netcat unzip jq
WORKDIR /vault
RUN mkdir -p /vault/bin && \
cd /vault/bin && \
curl -o vault.zip -sL https://releases.hashicorp.com/vault/0.9.0/vault_0.9.0_linux_arm64.zip && unzip vault.zip
ENV PATH="/vault/bin:${PATH}"
ENTRYPOINT /bin/bash
Подошел контейнер, я был готов его использовать и запустить все необходимые тесты, единственное, что я заметил, это то, что перед выводом всех команд я получал что-то вроде этого:
root@d2abe7afe964:/vault/bin# vault --version
Unknown host QEMU_IFLA type: 40
Unknown host QEMU_IFLA type: 41
Unknown host QEMU_IFLA type: 40
Unknown host QEMU_IFLA type: 41
Unknown QEMU_IFLA_INFO_KIND ipip
Unknown host QEMU_IFLA type: 40
Unknown host QEMU_IFLA type: 41
Unknown QEMU_IFLA_INFO_KIND ip6tnl
Unknown host QEMU_IFLA type: 40
Unknown host QEMU_IFLA type: 41
Vault v0.9.0 ('bdac1854478538052ba5b7ec9a9ec688d35a3335')
Коллега, использующий Linux (Ubuntu), не смог выполнить команду vault
, ошибка, которую он получал:
exec error command failed
После более подробной проверки проблема заключалась в том, что Dockerfile использовал vault_0.9.0_linux_arm64.zip
вместо vault_0.9.0_linux_amd64.zip
. По ошибке бинарный файл для arm64
использовался вместо требуемого amd64
, нас удивило то, что в среде macOS работало.
Поэтому хотелось бы узнать более подробно, почему это происходит, и есть ли способ запустить контейнеры в «строгом» или более «похожем» Linux », когда это необходимо?