Не удается правильно скопировать файлы в образ докера - PullRequest
0 голосов
/ 17 декабря 2018

Здравствуйте, я пытаюсь воссоздать в докере image мою папку хоста, которая содержит:

  • Опубликовать (папка, содержащая .NET app)
  • dockerfile
  • conf.json

dockerfile

FROM microsoft/aspnetcore 
WORKDIR /app
ADD . /app
ENTRYPOINT ["dotnet","/publish/Bench.dll"]
EXPOSE 8300

Когда я пытаюсь увидеть, что он создал, используя docker exec -it <id> bash itпросто берет все содержимое publish и выбрасывает его внутрь app без копирования conf.json.

Я также пробовал с
COPY . /app,
COPY /publish /app + COPY conf.json /appно безрезультатно.Что бы я ни пытался, он не скопирует папку as-is и не поставит рядом с ней файл json.

Что я делаю не так?

1 Ответ

0 голосов
/ 19 декабря 2018

Итак, я проверил это.У меня были папка публикации dockerfile и conf.json в том же каталоге, из которого я собирал образ.Это ключ.Здесь я использую nginx в качестве основного изображения.Ниже приведена команда, которую я использовал для создания образа nginx

docker build -t test/nginx .

, а файл docker - как показано ниже.Поэтому я создаю каталог приложения с помощью команды RUN.Вам придется использовать аналогичную команду в .net, чтобы создать этот каталог, если он не существует.Также обратите внимание на журналы сборки докера.Он расскажет вам важные вещи.Также вы можете добавить команду ls в dockerfile, чтобы вывести список файлов в папке /app, если хотите.

FROM nginx
RUN mkdir /app
WORKDIR /app
ADD . /app

После создания контейнера из созданного мной изображения я могу перейти к /папку приложения и просмотрите мой Dockerfile, config.json и опубликуйте там папку.Надеюсь, это поможет. Дайте мне знать, если у вас есть какие-либо вопросы

...