Я использую Dockerfiles, чтобы попытаться создать мои сборки автоматически. Я пытаюсь понять концепцию слоя. В моем файле Docker я уже добавляю версию Mono, которая мне нужна, и я пишу приложение C#, которое вызывает моно. Когда я разрабатываю приложение, я просто добавляю файлы src, которые мне нужны для изображения Docker, а затем запускайте контейнер. Поэтому каждый раз, когда я создаю новую сборку для своего приложения на C#, я в основном просто копирую новые файлы C#. Если в моем Dockerfile, это что-то простое, как это:создание изображения докеры с тем же именем
FROM centos
// install mono
ADD . /src
при запуске сборки я
docker build -t="crystal/testapp" .
при обновлении C# исходные файлы моей хост-машине, и я запустить команду докер сборки еще раз. Является ли это добавлением другого слоя к моему последнему изображению кристалла/testapp. Или он начинается с базы centos и просто создает совершенно новый образ, который заменяет мое старое изображение crystal/testapp? Глядя на размер моего изображения, кажется, что он не заменяет старый, а делает что-то еще, что я не уверен. Размер только относительно согласован, если я docker rmi hash
перед каждой сборкой, которая кажется немного утомительной.