Все, что вы можете сделать с помощью Docker Compose, вы можете сделать с помощью простых команд docker
.
В зависимости от того, как именно вы взаимодействуете с удаленным сервером, у вашего инструментария могут быть собственные способы сделать это. Один конкретный пример, с которым я знаком, - это Ansible docker_container
module . Если вы уже используете такой инструмент, как Ansible, Chef или Salt, вы, вероятно, можете использовать такой инструмент, чтобы делать то же самое, что и ваш файл docker-compose.yml
.
Но в противном случае существует более или менее прямой перевод между docker-compose.yml
файлом
version: '3'
services:
foo:
image: me/foo:20190510.01
ports: ['8080:8080']
и командная строка
docker run -d --name foo -p 8080:8080 me/foo:20190510.01
Мой опыт показывает, что команды docker run
быстро становятся громоздкими, и вы хотите записать их в файл; и как только они в файле, вы начинаете желать, чтобы они были в более структурированном формате, даже если вам нужен вспомогательный инструмент для их запуска; что возвращает вас к копированию вокруг файла docker-compose.yml
. Я думаю, что это довольно рутина. ( Что-то должно указать серверу, что запускать.)