@romicohen
Системный Архитектор

Как сделать, чтобы сценарий bash продолжал работу внутри docker-compose?

Есть сценарий оболочки:

#!/bin/bash
docker-compose up -d nginx mysql phpmyadmin
docker-compose exec --user=laradock workspace bash
cd laravel
$SHELL


он все делает нормально кроме

cd laravel

я так понимаю, это как-то связано с контекстом выполнения скрипта.

Можно ли это как-то разрулить в принципе? Ну, сделать как-то, чтобы после вхождения в контейнер команды в сценарии продолжали выполняться?

// если набрать cd laravel руками - нормально переходит в этот каталог.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
karabanov
@karabanov Куратор тега Docker
Системный администратор
Добавь в контейнер скрипт который будет выполнять необходимые тебе действия и запускай его внутри контейнера с помощью docker-compose exec, то есть точно так же как ты сейчас запускаешь bash.
Ответ написан
@romicohen Автор вопроса
Системный Архитектор
С подачи Александр Карабанов сделал что-то вроде:

#!/bin/bash
docker-compose up -d nginx mysql phpmyadmin
docker-compose exec --user=laradock workspace bash ./dock.sh
$SHELL


оно выполняет ./local/bash/dock.sh внутри контейнера :)

и если туда написать

#!/bin/bash
cd laravel
$SHELL


оно как раз и переходит в папку с ларавелью )) и там и остается - мне именно это и нужно было - чтобы просто кликнул по файлу и сразу все запустилось и ты уже в рабочем окружении.

всем спасибо!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы