Start containerized process:
docker run -it ubuntu bash
Work inside container:
$ hostname
a1b2c3d4
$ whoami
root
$ ps faux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.0 18508 3456 pts/0 Ss 07:27 0:00 bash
root 14 0.0 0.0 34400 2964 pts/0 R+ 07:27 0:00 ps faux
$ uname -a
Linux abbbea946294 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
–
Start containerized process:
docker run -it ubuntu bash
Work inside container:
$ ls –l /
total 64
drwxr-xr-x 2 root root 4096 Jul 18 21:21 bin
drwxr-xr-x 2 root root 4096 Apr 24 2018 boot
drwxr-xr-x 5 root root 360 Jul 29 07:27 dev
drwxr-xr-x 1 root root 4096 Jul 29 07:27 etc
drwxr-xr-x 2 root root 4096 Apr 24 2018 home
drwxr-xr-x 8 root root 4096 May 23 2017 lib
drwxr-xr-x 2 root root 4096 Jul 18 21:19 lib64
drwxr-xr-x 2 root root 4096 Jul 18 21:18 media
drwxr-xr-x 2 root root 4096 Jul 18 21:18 mnt
drwxr-xr-x 2 root root 4096 Jul 18 21:18 opt
dr-xr-xr-x 156 root root 0 Jul 29 07:27 proc
drwx------ 2 root root 4096 Jul 18 21:21 root
drwxr-xr-x 1 root root 4096 Jul 23 15:21 run
drwxr-xr-x 1 root root 4096 Jul 23 15:21 sbin
drwxr-xr-x 2 root root 4096 Jul 18 21:18 srv
dr-xr-xr-x 13 root root 0 Jul 4 19:25 sys
drwxrwxrwt 2 root root 4096 Jul 18 21:21 tmp
drwxr-xr-x 1 root root 4096 Jul 18 21:18 usr
drwxr-xr-x 1 root root 4096 Jul 18 21:21 var
$ exit
–
Run specific tool:
docker run -it centos ping localhost
Look at processes and PID 1 (ps faux
)
–
$ docker run -d nginx
e10ddad9ec5b
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e10ddad9ec5b nginx "nginx -g 'daemon of…" 56 seconds ago Up 55 seconds 80/tcp awesome_minsky
Note 64-byte ID and generated name.
Container stops when process ends
docker ps -a
–
Stop containers:
docker stop awesome_minsky
Remove containers:
docker rm awesome_minsky
Removing running containers must be force (-f
)
–
Named containers:
docker run -d --name websrv nginx
Read logs (stdout of process):
docker logs websrv
XXX:
docker inspect websrv
–
Execute commands inside containers:
docker exec websrv ps faux
ps faux
Enter containers interactively:
docker exec -it websrv bash
–
XXX immutable
–
XXX -i
XXX -t
–
docker run –> docker container run
docker ps –> docker container ps
docker logs –> docker container logs
docker
has more than one purpose
Containers: run
, rm
, ps
, exec
, logs
etc.
Images: build
, rmi
etc.