docker-compose работает, но docker не запускается

#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