Docker Run Centos Bash



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.

  1. Docker Run Centos Bash
  2. Docker Run Centos Image Bash
  3. Docker Run Centos Bash Command
  4. Sudo Docker Run –it Centos /bin/bash
  5. 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
-t, --tty
(“allocate a pseudo-TTY”, i.e. a terminal)
(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.

Centos

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.