С помощью docker save image-name > image-name.tar
и cat image-name.tar | docker load
вы получаете то, что вы помещаете Docker image в архив и после этого извлекаете image на другую машину.Вы можете проверить, правильно ли это работает, с помощью docker run --rm image-name
.
Изображение похоже на чертеж, который вы можете использовать для запуска контейнеров.Это не имеет никакого отношения к вашему docker-compose.yml
, который является просто файлом конфигурации, который должен находиться где-то на вашем компьютере.Вам нужно будет скопировать этот файл вручную на удаленный компьютер, на котором вы хотите запустить образ, например, используя scp docker-compose.yml remote_machine:/home/your_user/docker-compose.yml
.Затем вы можете запустить docker-compose up
из /home/your_user
.
РЕДАКТИРОВАТЬ: Дополнительная информация, касающаяся обновленного вопроса:
ОБНОВЛЕНИЕ Когда я скопировал все мои файлы проекта на сервер (включая docker-compose.yml), все начало работать.Но является ли это нормальным подходом и почему мне сначала нужно было сохранить и загрузить изображение?
Лично я никогда не использовал этот подход для передачи образа Docker (но это круто, я не знал).Обычно вы отправляете свой образ в реестр Docker (либо официальный DockerHub, либо в автономный реестр), а затем извлекаете его оттуда.