docker 基本操作命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92


docker search 镜像名 #搜索镜像
-f stars=星数 #根据镜像热度进行搜索

docker pull 镜像名 #拉取镜像
docker push 镜像名 #上传镜像

docker images #查看所有镜像基本信息
docker image ls
docker image list
-q 只查看ID

docker ps #查看运行状态的容器信息,加了-a则查看所有容器信息
docker container ls
docker container list
docker container ps
-q 只查看ID
-a 所有



docker inspect 镜像id/镜像名 #查看本地镜像详细信息


docker rmi 镜像id/镜像名 #删除本地镜像(可以删除多个,每个名字之间用空格隔开),需要先停止或删除基于该镜像的容器

docker rm 容器id/容器名 #删除本地容器(可以删除多个,每个名字之间用空格隔开)
-f 强制删除 #一般情况下删除运行中的容器,需要先停止容器再执行删除容器


docker rmi $(docker images -q) #删除所有镜像
docker rm $(docker ps -qa) #删除所有容器


docker history 镜像名/镜像ID #查看通过dockerfile制作镜像的过程


docker create --name 容器名 镜像名 #创建新容器但不启动
docker start 容器名/容器ID #运行容器
docker restart 容器名/容器ID #重启容器
docker stop 容器名/容器ID #停止容器
docker kill 容器名/容器ID #强制停止容器
docker stop/kill $(docker ps -q) #停止所有运行中的容器
docker pause 容器名/容器ID #暂停容器
docker nopause 容器名/容器ID #恢复容器的运行
docker rename 旧容器名 新容器名 #修改容器名
docker stats 容器名/容器ID #实时显示容器资源使用统计信息
docker inspect 容器id/容器名 #查看本地容器详细信息
docker top 容器id/容器名 #查看容器内进程详细信息
docker cp -a 容器名:路径 本地存放位置 #从容器拷贝到本机
docker cp -a 本地文件路径 容器名:路径 #从本机拷贝到容器
docker image save <image_name>:<tag> >/to/path/<image_name>.tar.gz #导出镜像
docker image load -i /to/path/<image_name>.tar.gz #导入镜像


#将镜像推送到ali Registry
$ docker login --username=命中注定吖 registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/l66/nginx:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/l66/nginx:[镜像版本号]


docker volume create 数据卷名 #创建卷
docker volume ls #查看卷(只能查看volume格式)
docker volume inspect 数据卷名 #查看卷的详细信息


docker exec -it 容器名/容器ID 解释器(bash) #切入正在运行的容器内
退出并停止容器终端:容器终端内执行exit
仅退出容器终端: 快捷键ctrl+p+q
【特殊用法】
docker exec 容器名/容器ID 命令 #不进入容器,进行容器内的操作
docker exec 容器id/容器名 env #查看容器环境变量


docker attach 容器名/容器ID #切入正在运行的容器内(需要容器创建时指定了有效解释器)


docker run -it --name 容器名 镜像名 解释器 #创建并运行一个新Docker 容器

eg: docker container run -itd --name webserver -p 80:80 nginx:1.27.1

​ -i:标准输入输出
​ -t:分配一个终端或控制台,结合后面的解释器使用
​ --restart=always:容器随docker engine自启动,因为在重启docker的时候默认容器都会被关闭 也适用于create选项
​ --rm:容器结束时自动清理其运行过程中所产生的数据
​ 【--rm和--restart=alwarys冲突,不能一起使用】
​ -d:后台运行
​ -p:指定端口;如:80:80,左边为本机的80端口,右边为容器的80端口
​ -e: 运行容器时导入指定的环境变量
​ -v:共享本机文件夹
​ --volumes-from:共享容器文件夹