Я скопировал образы, созданные на одной машине, и скопировал эти образы на другую машину. (образы docker сохраняются с помощью команды docker save -o [images.tar])
Затем я использую команду docker loader на другой машине. Чтобы запустить эти образы, мне нужно передать исходные коды, Dockerfile, файл docker-compose.yml вместе с образами?
решение1
Dockerfile — это инструкции, используемые для создания образа. После создания образа другие могут запустить его без Dockerfile.
Сам образ должен содержать все компоненты для запуска вашего приложения, такие как двоичные файлы, библиотеки и любые скрипты (это ваш исходный код, если у вас интерпретируемый язык, такой как JavaScript).
Docker-compose.yml — это конфигурация того, как запустить ваш образ. Сюда входят такие настройки, как где публиковать порты и как монтировать тома, которые не входят в сам образ.
Поэтому, если вы скопировали свой образ, то для его запуска вам понадобится только docker-compose.yml.
Обратите внимание, что я не рекомендую переносить изображения с помощью сохранения/загрузки. Вы обнаружите, что те же самые слои, которые уже были отправлены, переносятся снова. Вместо этого можно использовать сервер реестра, даже в отключенной среде,ведение собственного реестра. Это отслеживает, какие слои являются новыми, и ускоряет передачу, а также сокращает дисковое пространство, используемое изображениями.