** IMAGE **
$docker image
Delete image
: $docker image rm image_id make sure all containers be deleted before delete image
Find existing image ID :
$docker images —format “{{.ID}}” REPOSITORY:TAG
$docker image inspect image_id
** CONTAINER **
Create a container :
$ docker run -it --name container_name reporitory_name /bin/bash
exit 退出交互式界面,容器停止运行
Crtl+P 或者Crtl+Q 退出交互式界面,容器在后台运行。(注意是大写P和Q)
Crtl+P 或者Crtl+Q 退出交互式界面,容器在后台运行。(注意是大写P和Q)
docker create 容器名或者容器ID 创建容器
docker start [-i] 容器名 启动容器
docker run 容器名或者容器ID 运行容器,相当于docker create + docker start
docker attach 容器名或者容器ID 进入容器的命令行
docker stop 容器名 停止容器
docker rm 容器名 删除容器
docker top 容器名 查看WEB应用程序容器的进程
docker inspect 容器名 查看Docker的底层信息
守护式容器
-d 让容器在后台运行
后台运行任务:
docker run -d --name d1 ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done;"
b89b9ce64d34bd202a642c8190428f4776f15e882f138949259722f22120201a
返回了一个守护进程的唯一ID。
停止守护式进程:
-
docker stop 容器名 发送停止信号,等待关闭
-
docker kill 容器名 直接关闭容器
The docker exec
command runs a new command in a running container.
$docker exec -ti container_name mkdir /tmp/file1
** LOG **
docker logs [-f] [-t] [--tail] 容器名或id 查看容器内WEB应用程序日志
-f --follow=true|false,默认false,一直跟随log变化
-t --timestamps=true|false,默认false,加上时间戳
--tail="all",返回最新多少条日志
$ docker logs -ft --tail 5 container_name
----------------------
Where are docker images stored in local host?
$docker info
the images are stored at below location:
“
docker Root Dir"/image/overlay2/imagedb/content
—————————
Give any required non-root users permission to use docker
# userdel -r user_name
# useradd -d /home/user_name user_name
# passwd user_name
welcome1
# /usr/sbin/usermod -aG docker user_name
—————————
Config Docker Logging
——————————
Reduce image size
- Squash multi layers into one single layer.
- Export a running container to a tar file, then import it to an image which will has one single layer.