Как запустить docker-compose с образом docker? - PullRequest
1 голос
/ 01 мая 2019

Я переместил свой контейнер docker-compose с компьютера разработчика на сервер, используя docker save image-name > image-name.tar и cat image-name.tar | docker load.Я вижу, что мое изображение загружается с помощью команды docker images.Но когда я хочу запустить свой сервер с docker-compose up, он говорит, что нет никакого docker-compose.yml.И на самом деле нет никакого файла .yml.Так как же это сделать?

ОБНОВЛЕНИЕ Когда я скопировал все свои файлы проекта на сервер (включая docker-compose.yml), все начало работать.Но это нормальный подход и почему мне нужно сначала сохранить-загрузить изображение?

1 Ответ

0 голосов
/ 01 мая 2019

С помощью 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, либо в автономный реестр), а затем извлекаете его оттуда.

...