Докер .NET Core - контейнер Linux.Найти конкретный файл моего встроенного проекта - PullRequest
0 голосов
/ 30 декабря 2018

Я использую .NET Core с докером типа контейнера Linux (сборка для Windows 10).

Я запускаю свою программу для тестирования в Windows и для производства в Linux.

У меня есть текстовый файл: "sample.txt" в докере.

Я хочу найти точное местоположение текстового файла в докере.

Я собрал и запустил docker, используя «docker-compose build» и «docker-compose up» соответственно.

Продолжайте его работу (с помощью некоторого цикла в моем коде) и откройте еще одно приглашение командной строкии запустите:

docker exec -t -i <DOCKER_ID> /bin/sh

и после этого запустите:

ls /

Результат:

bin boot dev docker-entrypoint.sh и т. д. homelib lib64 media mnt opt ​​плагины proc root run sbin srv sys tmp usr var

выполнение команды:

find . -print | grep -i 'sample.txt'

возвращает вывод:

find: ‘./proc/1/map_files’: Permission denied
find: ‘./proc/105/map_files’: Permission denied
find: ‘./proc/172/map_files’: Permission denied
find: ‘./proc/280/map_files’: Permission denied
find: ‘./proc/321/map_files’: Permission denied
find: ‘./proc/322/map_files’: Permission denied

Как найти точное местоположение в докере для файла: "sample.txt" ?

(это может быть любой файл).

Также- Можно Я запускаю исполняемый файл linux, который находится за пределами докера, из самого докера?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Путь можно увидеть при создании образа докера (при запуске: «запустить dotnet publish ...» или «запустить сборку dotnet ...»

В файле Docker просто введите команду «COPY»к пути linux.

Общий путь (при компиляции в / app):

/ app / runtimes / linux-x64 / native

Соответствующие строки в DockerFile:

...
RUN dotnet publish MyProj.csproj --no-cache -c Release -o /app
...
COPY MyProj/Objects/MyLib/Linux /app/runtimes/linux-x64/native
0 голосов
/ 31 декабря 2018

Прежде всего, вы можете использовать команду:

find / -name sample.txt

Эта команда будет искать все файлы sample.txt, если они находятся в файловой системе.

Ваш второй вопросЯ бы использовал том, который сопоставляется с определенной папкой на вашем хост-компьютере и папкой внутри контейнера докера, а после этого вы можете легко перейти к месту в контейнере докера и запустить его.

...