У меня есть скрипт bash, который выполняет некоторые команды Docker:
#!/usr/bin/env bash
echo "Create and start database"
cd ../../database
cp -R ../../../scripts/db db/
docker build -t a_database:1 .
docker run --rm --name a_db -e POSTGRES_PASSWORD=docker -d -p 5432:5432 a_database:1
docker network connect --ip 172.23.0.5 a_network a_db
sleep 15
echo "Initialize database"
docker exec a_db /root/db/dev/init_db.sh
echo "Cleanup"
rm -rf db
На Mac все работает нормально, проблема возникает, когда я пытаюсь запустить этот скрипт на машине с Windows. Когда я запускаю его, я получаю сообщение об ошибке:
OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caused "exec: \"C:/Program Files/Git/root/db/dev/init_db.sh\": stat C:/Program Files/Git/root/db/dev/init_db.sh: no such file or directory": unknown
Каталог и скрипт (/root/db/dev/init_db.sh) существуют внутри контейнера Docker. Я не знаю, почему он пытается найти скрипт на хост-машине? Также, когда я выполняю команду:
docker exec a_db /root/db/dev/init_db.sh
непосредственно в командной строке (на окнах) выполняется скрипт. Есть идеи, что не так и почему он пытается использовать git?