一、镜像相关
1、查看所有镜像
$ docker image ls
$ docker images
·REPOSITORY:表示镜像的仓库源
·TAG:镜像的标签,代表这个仓库源的不同个版本
·IMAGE ID:镜像ID
·CREATED:镜像创建时间
·SIZE:镜像大小
2、删除镜像
$ docker image rm ubuntu:20.04
$ docker rmi ubuntu:20.04
3、拉取镜像
$ docker pull ubuntu:20.04
4、根据镜像启动容器
$ docker run -it ubuntu:20.04 /bin/bash
·-i: 交互式操作
·-t: 终端
·ubuntu:20.04:这是指用 ubuntu 20.04 版本镜像为基础来启动容器
·/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash
5、更新镜像
$ docker commit -m="this is content for commiting" -a="this is author" d66cef6d68bf runoob/ubuntu:v2
·-m:提交的描述信息
·-a:指定镜像作者
·d66cef6d68bf:容器 ID
·runoob/ubuntu:v2:指定要创建的目标镜像名
二、容器相关
1、查看所有的容器
#查看正在运行的容器
$ docker ps
#查看所有容器,包括未运行的
$ docker ps -a
·CONTAINER ID: 容器 ID。
·IMAGE: 使用的镜像。
·COMMAND: 启动容器时运行的命令。
·CREATED: 容器的创建时间。
·STATUS: 容器状态。
·状态有7种: created(已创建) restarting(重启中) running(运行中) removing(迁移中) paused(暂停) exited(停止) dead(死亡)
·PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
·NAMES: 自动分配的容器名称。
2、启动一个已停止的容器
$ docker start f69dbd3c27c4
3、停止一个容器
$ docker stop f69dbd3c27c4
4、重启一个容器
$ docker restart f69dbd3c27c4
5、后台启动运行一个
$ docker run -itd --name ubuntu-test ubuntu:20.04 /bin/bash
6、进入容器
#进入容器(如果从这个容器退出,会导致容器的停止)
$ docker attach 1e560fca3906
#进入容器(如果从这个容器退出,不会导致容器的停止)(推荐)
$ docker exec -it 243c32535da7 /bin/bash
7、删除容器
$ docker rm -f 1e560fca3906
8、导出容器
$ docker export a8bf89afcbb6 > ./ubuntu.tar
9、导入容器快照(导成镜像 image)
#导入容器快照
$ cat ./ubuntu.tar | docker import - test/ubuntu:v1
#导入容器快照("./ubuntu.tar"可为路径,也可为url)
$ docker import ./ubuntu.tar test/ubuntu:v1
三、查看
1、docker stats 查看容器使用的资源
默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。输出的主要内容:
[CONTAINER]:以短格式显示容器的 ID。
[NAME]:容器名称
[CPU %]:CPU 的使用情况。
[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
[MEM %]:以百分比的形式显示内存使用情况。
[NET I/O]:网络 I/O 数据。
[BLOCK I/O]:磁盘 I/O 数据。
[PIDS]:PID 号。
[root@Tseng-HW ~]# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
6cf2664138ad storage 0.25% 8.41MiB / 3.648GiB 0.23% 3.24MB / 343MB 4.47MB / 567MB 8
066162955d53 tracker 0.07% 10.12MiB / 3.648GiB 0.27% 76MB / 43.9MB 1.52MB / 1.09GB 12
9df69ade730b mongodb 0.87% 190.6MiB / 3.648GiB 5.10% 69.7kB / 15.6kB 31.1MB / 7.5GB 43
[root@Tseng-HW ~]#
2、 docker stats --no-stream 只输出一次已启动容器当前的状态
[root@Tseng-HW ~]# docker stats --no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
6cf2664138ad storage 0.00% 8.344MiB / 3.648GiB 0.22% 3.24MB / 343MB 4.47MB / 567MB 8
066162955d53 tracker 0.01% 10.11MiB / 3.648GiB 0.27% 76.1MB / 43.9MB 1.52MB / 1.09GB 12
9df69ade730b mongodb 0.24% 190.6MiB / 3.648GiB 5.10% 69.9kB / 15.8kB 31.1MB / 7.5GB 43
[root@Tseng-HW ~]#
3、 docker system df 查看镜像、容器、数据卷、缓存占用磁盘空间
[root@Tseng-HW ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 16 9 7.172GB 2.671GB (37%)
Containers 10 3 210.6MB 138.3MB (65%)
Local Volumes 10 6 316.8kB 139.1kB (43%)
Build Cache 0 0 0B 0B
[root@Tseng-HW ~]#
4、docker system df -v 进一步查看每个镜像、容器占用的磁盘空间
[root@Tseng-HW ~]# docker system df -v
Images space usage:
REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
mongo 5.0 dfda7a2cf273 8 months ago 692.6MB 0B 692.6MB 1
Containers space usage:
CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
9df69ade730b mongo:5.0 "docker-entrypoint.s…" 1 230B 4 weeks ago Up 4 weeks mongodb
Local Volumes space usage:
VOLUME NAME LINKS SIZE
80226454c2465131821d98971c864c08400dc0de7ad1823964933e37d8dbc6e7 1 78.75kB
Build cache usage: 0B
CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
[root@Tseng-HW ~]#