Я не могу найти файл, который я скопировал с помощью команды COPY в dockerfile - PullRequest
0 голосов
/ 01 мая 2020

Я учусь Docker. Я создал файл Docker, как этот.

FROM alpine:3.10.3

WORKDIR /dev/mirai
COPY mirai-console-wrapper-0.3.0.jar .

Затем я создаю его с помощью команды

docker build -t mirai:0.0.1 .

Кажется, что я успешно его построил.

Sending build context to Docker daemon  10.04MB
Step 1/3 : FROM alpine:3.10.3
 ---> 965ea09ff2eb
Step 2/3 : WORKDIR /dev/mirai
 ---> Using cache
 ---> d3af4049af4a

Step 3/3 : COPY mirai-console-wrapper-0.3.0.jar .
 ---> Using cache
 ---> 56df1145ecab
Successfully built 56df1145ecab
Successfully tagged mirai:0.0.1
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have
 '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.

Но когда я запускаю этот образ

docker run -it mirai:0.0.1

Я не могу найти свой скопированный файл mirai-console-wrapper-0.3.0.jar

/dev/mirai # ls
/dev/mirai #

В папке mirai ничего нет. Я просто хочу скопировать файл из моего docker изображения.

1 Ответ

0 голосов
/ 01 мая 2020

Дерево каталогов /dev часто использует специальную файловую систему, которая содержит автоматически созданные файлы специальных устройств; вы не должны ожидать, что сможете хранить файлы общего назначения.

Если вы можете установить свое приложение в «нормальные» каталоги (например, поместите основную программу в /usr/local/bin), которая будет проще всего бежать. Если нет, то использование пути непосредственно в каталоге файловой системы root является обычным явлением; используйте что-то вроде /mirai для вашего приложения или что-то общее c, например /app.

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