docker - в файле sh отклонено разрешение на создание - PullRequest
0 голосов
/ 21 января 2020

У меня есть следующий файл docker -compose.yml:

version: "3" services:\   local_db:
    build:
      context: mssql-data
      dockerfile: Dockerfile
    ports:
      - "1433:1433"
    volumes:
      - ~/Documents/rfg/temp
    environment:
      SA_PASSWORD: "D0ckerDev"
      ACCEPT_EULA: "Y"

Когда я запускаю docker -compose, я получаю следующую ошибку:

local_db_1  | /scripts/entrypoint.sh: line 5: /scripts/seed-data.sh: Permission denied
docker_local_db_1 exited with code 126

Где точка входа:

#start SQL Server in the background
/opt/mssql/bin/sqlservr &

# start the seed data script 
/scripts/seed-data.sh

Где начальные данные. sh были:

sleep 15s cd /scripts

if [ -f /var/opt/mssql/data/initialized ]; then
    sleep infinity
    fi sleep 15s /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -i setup.sql

touch /var/opt/mssql/data/initialized sleep infinity

и точка входа. sh:

#start SQL Server in the background
/opt/mssql/bin/sqlservr &

# start the seed data script 
/scripts/seed-data.sh

и Dockerfile:

FROM microsoft/mssql-server-linux:2017-latest

COPY . /scripts

CMD chmod 755 /scripts/*
CMD chmod 755 /scripts/seed-data.sh

CMD /bin/bash /scripts/entrypoint.sh

Вышеописанное прекрасно работает в Windows, но в MacOS я получаю ошибку об отказе в доступе выше ..

1 Ответ

2 голосов
/ 21 января 2020

Похоже, что вы не установили правильные разрешения для вашего seed-data.sh сценария. Вы можете просто назвать это так:

sh /scripts/seed-data.sh

Или вы можете убедиться, что все ваши скрипты выполняются первыми:

chmod 755 /scripts/*
/scripts/seed-data.sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...