So I have successfully downloaded and got running the dockerfile/nginx image from the registry. How can I now access its file system by firing up a bash terminal on it?
Maybe I am missing something conceptually here. Do I need to ssh into it? thanks
First of all, to list all running containers, use the docker ps command. Then, with the docker logs command you can list the logs for a particular container. Most of the time you'll end up tailing these logs in real time, or checking the last few logs lines.
The docker exec and docker attach commands allow you to connect to a running container. To get an interactive shell to a container, use the exec command to start a new shell session. The attach command attaches your terminal to a running container.
You can start an interactive shell in a new image:
sudo docker run -i -t nginx /bin/bash
This gives you access to the container and you can change things. When done you need to save your changes in a new reusable image:
sudo docker commit <container_id> <some_name>
This approach makes sense for testing. Usually you would use Dockerfiles to automate this.
In case your image has a default entry point you can overwrite it:
docker run -i -t --entrypoint /bin/bash nginx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With