Контейнер Docker - различное поведение на Win и Linux - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть докер-контейнер, я запускаю его, и через некоторое время он должен выполнить эту строку

$(aws ecr get-login --region $AWS_DEFAULT_REGION | sed -e 's/-e none//g')

Теперь странная вещь - когда я запускаю его на своей локальной машине (Windows), он проходит ипишет Login Succeeded

Когда я запускаю его на агенте Linux-Ami, все работает правильно, но когда он попадает в эту строку, он выводит

/app/ops/release/docker-run.sh: 51: /app/ops/release/docker-run.sh: aws: not found

Я в замешательстве, поскольку использую docker, чтобы фактически иметь ту же среду независимо от того, когда я ее выполняю.Единственная не докерская часть - это когда я создаю образ и запускаю его (и в этой части я понимаю, если есть некоторые различия), но все остальное выполняется в контейнере на основе одного и того же Dockerfile в обеих средах.

Единственным реальным отличием могут быть переменные среды, которые передаются в контейнер при запуске.

Любая идея?

Часть файла Docker для построения образа для этого контейнера - RUN pip install --upgrade awscli

1 Ответ

0 голосов
/ 12 февраля 2019

Обнаружена проблема.

Я передал все переменные окружения в контейнер -> в Linux Я передал такие переменные, как PATH, и уничтожил автоматический поиск правильной папки bin.

Если я назову его /usr/local/bin/aws, он будет работать в обеих системах.После передачи только соответствующих переменных среды aws работает "из коробки".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...