EN
docker and docker-compose - list of most useful commands (common cmd)
4 points
Hi, today I'd like to share with you list of most useful docker and docker-compose commands.
I find it very useful to have this kind of cheat sheet / shortcuts.
docker list most useful commands
xxxxxxxxxx
1
# list all images
2
$ docker images
3
4
# list all images (with dangling images)
5
$ docker images -a
6
7
# remove all images
8
$ docker system prune -a
9
10
# remove 1 docker image
11
$ docker rmi put_image_id_here
12
# eg:
13
$ docker rmi e1d7dc9731da
14
15
# kill container
16
$ docker kill put_container_id_here
17
# eg:
18
$ docker kill 4f2135f4f315
19
20
# list all containers
21
$ docker ps
22
23
# build current project where we have Dockerfile
24
$ docker build .
Docker logs
xxxxxxxxxx
1
# follow short
2
docker logs -f <container_id>
3
# follow full
4
docker logs --follow <container_id>
5
6
# since
7
docker logs --since=2h <container_id>
8
9
# to get <container_id> we use:
10
docker ps
Commnad combinations
xxxxxxxxxx
1
# stop all
2
docker stop $(docker ps -aq)
3
4
# remove all containers
5
docker rm $(docker ps -aq)
6
7
# remove all images
8
docker rmi $(docker images -a -q)
9
10
# docker ps [OPTIONS] - list all containers
11
# --all , -a Show all containers (default shows just running)
12
# --quiet , -q Only display container IDs
Remove more then 1 docker image in single line:
xxxxxxxxxx
1
# list all docker images
2
$ docker images
3
REPOSITORY TAG IMAGE ID CREATED SIZE
4
mysql latest e1d7dc9731da 2 weeks ago 544MB
5
docker/getting-started latest 1f32459ef038 2 months ago 26.8MB
6
openjdk 8-jdk-alpine a3562aa0b991 16 months ago 105MB
7
# remove 2 images in single line
8
$ docker rmi e1d7dc9731da && docker rmi 1f32459ef038
docker-compose list most useful commands
xxxxxxxxxx
1
# start based on docker-compose.yml in current directory
2
$ docker-compose up
3
4
$ docker-compose stop
5
$ docker-compose down
6
7
$ docker-compose ps
8
9
# print docker-compose with .env imported
10
$ docker-compose config
11
12
# show last 10 lines of logs from each docker container
13
$ docker-compose logs -t -f --tail 10
Export docker images
xxxxxxxxxx
1
# export docker image to tar file
2
docker save -o my-image-name.tar my-image-name
3
# NOTE:
4
# my-image-name can be get from running docker images (REPOSITORY column)
5
6
7
# docker export image to tar with image version
8
docker save -o my-image-name.tar my_prefix/my-image-name:1.0.1
9
10
11
# docker export image to tar without image version
12
# it will export all versions available (list all images - docker images)
13
docker save -o my-image-name.tar my_prefix/my-image-name
14
15
16
# docker load docker tar image under windows with git bash:
17
docker load -i my-docker-image.tar
18
# note - if docker image has more then 1 version of image exported, all of them will be imported
Docker - remove images older than some specific period of time
xxxxxxxxxx
1
# delete images older than: 1 day (24h)
2
docker image prune --all --filter "until=24h"
3
4
# delete images older than: 168h == 7 days == 1 week
5
docker image prune --all --filter "until=168h"
6
7
# delete images older than: 336h == 14 days == 2 weeks
8
docker image prune --all --filter "until=336h"
9
10
# delete images older than: 504h == 21 days == 3 weeks
11
docker image prune --all --filter "until=504h"
12
13
# delete images older than: 720h == 30 days == 4 weeks ~= 1 month
14
docker image prune --all --filter "until=720h"
xxxxxxxxxx
1
# will print all images
2
docker images | grep "MY_TAG_HERE" | awk '{print $1 ":" $2}'
3
4
# will remove all images - test above command
5
docker images | grep "MY_TAG_HERE" | awk '{print $1 ":" $2}' | xargs docker rmi
Other useful commands
xxxxxxxxxx
1
# restart docker service
2
service docker restart
Build java project with mvn + skip unit tests
xxxxxxxxxx
1
mvn clean install -Dmaven.test.skip=true