cannot pm2 list in docker containers
I build a Docker image with Node.js and pm2. I started the container with:
docker run -d --name test -p 22 myImage
Then I go inside the container with:
docker exec -it test /bin/bash
In the container, exec the command:
And it stuck here:
P.s.: My application works well in the Docker container, if I add
CMD pm2 start app.js in the
2 Solutions collect form web for “cannot pm2 list in docker containers”
If your dockerfile CMD is a pm2 command, you have you include –no-daemon arg option so pm2 runs in the foreground and so your docker container continues to run.
An example Dockerfile CMD:
CMD ["pm2", "start", "app.js", "--no-daemon"]
Otherwise, without –no-daemon, pm2 launches as a background process and docker thinks the execution of the pm2 command is done running and stops.
CMD ["pm2-docker", "pm2.yaml"]
This is the new approach.
Please do not use previous approaches.