Я пытался настроить команду с помощью Пряжи, чтобы создавать каталоги, создавать мои изображения Docker и запускать docker-compose up
.
Я добавил start script в мой package.json
для выполнения оболочки script:
"scripts": {
"start": "./start-docker.sh",
...
}
Это start-docker.sh:
#!/bin/bash
mkdir -p volumes/mysql volumes/wordpress
docker-compose build
docker-compose up
Сначала это не сработало, потому что у моих контейнеров не было прав на доступ к созданным каталогам.
Затем я добавил эту строку после создания каталогов, чтобы предоставить полные разрешения для контейнеров:
sudo chmod -R 777 volumes
Но, как вы можете видеть, эта команда должна выполняться с использованием sudo. Это означает, что выполнение команды yarn start
требует пароля, чего я не хотел.
Я избавился от оболочки script и использовал только пряные скрипты:
"scripts": {
"prestart": "mkdir -p volumes/mysql volumes/wordpress && docker-compose build",
"start": "docker-compose up",
...
}
Удивительно, но это сработало, но я не понимаю, почему.. у вас есть идеи?