Итак, здесь есть две настоящие парадигмы:
Я работаю на своей локальной машине.
В этом случае вы, скорее всего, уже извлекли код на свой локальный компьютер. Здесь просто используйте директиву COPY, чтобы взять всю папку и поместить ее куда-нибудь в контейнер. Не нужно беспокоиться о мерзавце или чем-то в этом роде.
У меня есть сервер сборки, чтобы выполнить сборку
В этом случае имеет смысл позволить серверу сборки проверить код и затем выполнить то же действие, что и выше. Мы просто копируем проверенный код в изображение
Наконец, еще одна альтернатива, которая работает для динамических языков, таких как PHP, JS и т. Д., - НЕ помещать код в изображение, а монтировать код в контейнер во время выполнения.
Давайте возьмем PHP для примера. Если веб-сервер ищет в / var / www / html код, вы можете запустить свое изображение следующим образом:
docker run -d --name {containername} -p 80:80 -p 443:443 -v /my/dir/where/code/is:/var/www/html {your base image}
Приведенное выше создаст изображение, но передаст ваш локальный каталог в каталог / var / www / html, что означает, что любые изменения, которые вы делаете локально, будут отображаться в исходном коде контейнера. Это было гораздо более широко использовано в Vagrant и в первые дни докера, пока композитор не был стабильным.