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
Intento ejecutar el bash para ingresar al shell, pero aparece un error, cómo resolver esto, creo que estoy haciendo algo mal.
$docker-compose run myapp /bin/bash ERROR: No such service: myapp
utilizar docker-compose para iniciar el contenedor y ejecutar un comando en el contenedor en ejecución:
docker-compose updocker-compose exec web /bin/bash
docker-compose utiliza el nombre del servicio ; en su caso, este es web - mientras docker utiliza el nombre del contenedor , en este caso myapp.
Así que para correr /bin/bash mediante docker, usarías lo siguiente:
docker exec -ti myapp /bin/bash
puede quitar el container_name de docker-compose.yaml, entonces el contenedor se nombraría automáticamente por docker-compose - similar al servicio, pero con el prefijo del nombre del docker-compose pila (el nombre de la carpeta donde docker-compose.yaml se encuentra).
La otra respuesta es correcta, pero de alguna manera fue un poco confusa en su amplia explicación sobre " la relación de docker y docker-compose".
Lo principal para deshacerse del error en cuestión es hacer lo que dice el error: & quot;ERROR: No such service:", por lo tanto, usted deber elija un servicio que esté en el archivo de redacción y ni el nombre del contenedor. En el ejemplo, es web y NO myapp.
También asegúrate de que estás ejecutando el comando en la misma carpeta que docker-compose.yml, de lo contrario obtendrá el mismo mensaje de error, pero la respuesta de Phillip anterior no funcionará.
definitivamente estás haciendo algo mal. Para ayudarte, necesitaría saber qué hiciste y cómo lo hiciste. Por favor, publique su docker-compose.yaml y un recuerdo completo de todos sus pasos.