Docker для Windows: «Операция не разрешена» при попытке запустить исполняемый файл внутри контейнера (только для bind-mount) - PullRequest
1 голос
/ 16 марта 2020

Я почти уверен, что последнее обновление Docker для Windows что-то сломало.

Вот в чем дело. У меня есть пользовательское изображение с именем toolbox, созданное из alpine, с небольшим количеством скриптов внутри (привязка к локальной папке ./mnt/):

version: '3'

services:
    # ...

    toolbox:
        build:
            context: ./.docker/toolbox
        restart: always
        volumes:
            - ./mnt/etc/periodic/daily:/etc/periodic/daily

Файлы имеют права доступа:

/ # ls -la /etc/periodic/daily/
total 4
drwxrwxrwx    1 root     root          4096 Mar 16 17:49 .
drwxr-xr-x    7 root     root          4096 Jan 16 22:52 ..
-rwxr-xr-x    1 root     root           332 Mar  1 23:57 backup-databases
-rwxr-xr-x    1 root     root            61 Mar  1 23:51 cleanup-databases-backups

Когда я пытаюсь выполнить backup-databases, я получаю следующую ошибку:

/ # / etc / periodic / daily / backup-database / bin / sh: / etc / periodic / daily / backup-database: операция запрещена

Странно то, что если я создаю скрипт (изнутри контейнера), он работает :

echo "echo Hello" > /etc/periodic/daily/test
chmod +x /etc/periodic/daily/test
/etc/periodic/daily/test
...