Я запустил изображение с помощью: "docker-compose up"
С помощью "docker ps" я получаю:
CREATED STATUS PORTS NAMES55e1fd18acf1 simpleappnodedocker_web "node app.js" 6 seconds ago Up 6 seconds 0.0.0.0:9000->3000/tcp myapp9879ff20e241 postgres:9.6 "docker-entrypoint..." 36 hours ago Up 36 hours 0.0.0.0:5432->5432/tcp nd-db
Я пытаюсь запустить bash, чтобы войти в оболочку, но я получаю сообщение об ошибке, как это решить, я думаю, что делаю что-то не так.
$docker-compose run myapp /bin/bash ERROR: No such service: myapp
использовать docker-compose чтобы запустить контейнер и выполнить команду в запущенном контейнере:
docker-compose updocker-compose exec web /bin/bash
docker-compose использует название службы - в вашем случае это web - в то время как docker использует имя контейнера - в данном случае myapp.
Так что бежать /bin/bash через docker, вы бы использовали следующее:
docker exec -ti myapp /bin/bash
вы могли бы удалить container_name от docker-compose.yaml, тогда контейнер будет назван автоматически с помощью docker-compose - аналогично сервису, но с префиксом имени docker-compose стек (имя папки, где docker-compose.yaml находится).
Также убедитесь, что вы запускаете команду в той же папке, что и ваш docker-compose.yml, в противном случае вы получите то же сообщение об ошибке, но ответ Филиппа выше не будет работать.
вы определенно делаете что-то не так. Чтобы помочь вам, мне нужно было бы знать, что вы сделали и как вы это сделали. Пожалуйста, опубликуйте свой docker-compose.yaml и полный отчет обо всех ваших шагах.
@Phillip-ZyanKLee-Stockmann у вас есть конфигурация yml, но вам действительно нужно использовать docker-compose run, могу ли я сделать это с помощью docker run?