Docker build говорит, что каталог уже существует, но это не так - PullRequest
0 голосов
/ 10 июля 2020

В dockerfile я создаю каталог /var/log/nginx, поскольку он не существует в контейнере, хотя nginx .conf настроен для сохранения журналов в / var / log / nginx

Однако, сборка docker не удалась, так как директория / var / log / nginx уже существует. Но это не так.

Docker ошибка сборки:

root@jsd-user-management:~/flask# docker build -t flask_app .
Sending build context to Docker daemon  716.8kB
Step 1/6 : FROM tiangolo/uwsgi-nginx-flask:python3.5
 ---> dea8fea96656
Step 2/6 : RUN mkdir  /var/log/nginx
 ---> Running in 9e9ff86747a7
mkdir: cannot create directory ‘/var/log/nginx’: File exists
The command '/bin/sh -c mkdir  /var/log/nginx' returned a non-zero code: 1

Внутри Docker контейнера:

root@jsd-user-management:~/flask# docker exec -it flask_jsd-user-management_1 bash
root@c6d43f610a51:/app/app# ls /var/log
root@c6d43f610a51:/app/app#

Как ни удивительно, когда я пытаюсь создать каталог изнутри контейнера, он работает. Однако внутри него не ведется никаких журналов.

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете использовать флаг -p.

-p, --parents нет ошибки, если существует, создайте родительские каталоги по мере необходимости

RUN mkdir -p /var/log/nginx
RUN ls /var/log/

Это может быть родительский случай директор отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...