I’m just getting started with Docker. I’ve thought for years that containerization is a great idea, but I haven’t actually done anything with containers yet. Time to get started.
- Docker Run Centos Bash
- Docker Run Centos Image Bash
- Docker Run Centos Bash Command
- Sudo Docker Run –it Centos /bin/bash
- Docker Run Centos Bash Ubuntu
Docker container run -it centos /bin/bash. As you can see from the output once the container is started the command prompt is changed which means that you’re now working from inside the container: root@719ef9304412 /# To list running containers:, type: docker container ls. The centos dockerfile has a default command bash. That means, when run in background (-d), the shell exits immediately.Update 2017. More recent versions of docker authorize to run a container both in detached mode and in foreground mode (-t, -i or -it).
I ran through a couple tutorials on the Docker docs site and created a cloud.docker.com account to get some basic familiarity.
Docker Run Centos Bash
This tutorial provides a starting point on how to install Docker, create and run Docker containers on CentOS/RHEL 8/7, but barely scratches the surface of Docker. Step 1: Install and Configure Docker. The official build of CentOS.
I found the CentOS container repository on Docker Hub: https://hub.docker.com/_/centos/
Let’s try running it!
$ docker pull centos
$ docker run centos
Did it do anything? It looks like it did something. At least, it didn’t give me an error. What did it do? How do I access it?
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Nothing is actively running. That makes sense, because we’re not telling the containerized OS to do anything — it starts, it doesn’t have anything to do, and so it shuts down immediately. Instead we can tell it to run interactively and with a terminal by specifying a couple options:
-i, --interactive
(“allocate a pseudo-TTY”, i.e. a terminal)
-t, --tty
(see docker run --help
for details)
$ docker run -i -t centos
[root@4f0b435cdbd7 /]#
I’m in!
What if I want to modify the container? Right now it is pretty bare-bones. For example, this doesn’t even have man
installed:
[root@4f0b435cdbd7 /]# man man
bash: man: command not found
[root@4f0b435cdbd7 /]# yum install man
...
[root@4f0b435cdbd7 /]# man man
No manual entry for man
Docker Run Centos Image Bash
Quite the improvement! Now we need to save our change:
[root@4f0b435cdbd7 /]# exit
Docker Run Centos Bash Command
$ docker commit 4f0b435cdbd7 man-centos
$ docker run -i -t man-centos
[root@953c512d6707 /]# man man
No manual entry for man
Sudo Docker Run –it Centos /bin/bash
Progress! Now we have a CentOS container where man
is already installed. Exciting.
Docker Run Centos Bash Ubuntu
I can’t (that I know of) inspect the container and know whether or not man
is installed without running it. That’s fine for many cases, but next I will attempt to figure out how specify via a Dockerfile that man
is installed.