#docker #docker-compose
#docker #docker-compose
Вопрос:
У меня есть docker-compose
только одно изображение. Это docker-compose.yml
определение:
services:
myNodeApp:
image: "1234567890.dkr.ecr.us-west-1.amazonaws.com/myNodeApp:latest"
container_name: 'myNodeApp'
volumes:
- data:/root/data
Но я хочу переместить его docker run
, поскольку я использую только один контейнер. Выполнение команды docker run следующим образом:
docker run 1234567890.dkr.ecr.us-west-1.amazonaws.com/myNodeApp:latest --name myNodeApp -v "data:/root/data"
Но я получаю это сообщение 1.12.4
. Однако выполнение docker-compose up
запускает приложение и отображает журнал по результатам.
В чем разница? Что эквивалентно docker-compose с помощью docker? Что я делаю по-другому?
Комментарии:
1. Что
docker ps -a
дает вам при наличии обоихdocker run
иdocker-compose up
? Это может быть из-за префикса имени проекта при использовании compose .2. попробуйте добавить либо
-d
или-it
в свою команду run.3. Параметры, зависящие от Docker, такие как
--name
или-v
должны предшествовать имени изображения вdocker run
; в противном случае они интерпретируются как команда для запуска.
Ответ №1:
Я думаю, вы ищете это?
docker run -it --name myNodeApp -v "data:/root/data"
1234567890.dkr.ecr.us-west-1.amazonaws.com/myNodeApp:latest
Или, может быть, эта команда поможет вам, потому что она создаст локальный образ, связанный с конфигурацией в вашем docker-compose.yml
.
docker-compose build
docker images