Вы можете выполнить Баш оболочку в Докер контейнере с помощьюВыполнения Баша затем выполнение команд в докер
sudo docker exec -it container bash
Но я хочу команду, которая выполняет Баш оболочку в контейнере, а затем выполняет несколько команд в Баше незамедлительный.
команда, как это в настоящее время работает:
sudo docker exec -it container touch test.txt | bash
Однако, команда, которую я хочу, чтобы запустить в Баш строке доступен только внутри контейнера Докер, так что я получаю сообщение об ошибке:
No such file or directory
Возможно ли выполнить команду, которая является локальной для контейнера докера, используя docker exec?
Команда 'bash' является' bash' контейнера. Если в вашем контейнере нет bash, это может действительно потерпеть неудачу (см. Изображение 'alpine'). Поэтому, если в вашем контейнере есть некоторая команда типа 'git', вы можете сделать' docker exec -it container git clone https: // somegit'. [docs] (https://docs.docker.com/engine/reference/commandline/exec/) – jrbeverly
Какую команду вы пытаетесь запустить. Команда EVERY, выполняемая через docker exec, находится внутри контейнера. – user2105103
По команде вы имеете в виду скрипт bash? Как вы хотите сделать bash myscript.sh'? Если это так, вам нужно знать рабочий каталог контейнера (который может быть установлен 'WORKDIR'). Вы можете найти его с помощью 'pwd', выполнив это в контейнере. – jrbeverly