Skip to content

Commit 3852a8b

Browse files
author
喜欢葡萄+芝士的妹妹
committed
feat: docker相关文章
1 parent 7872a34 commit 3852a8b

7 files changed

Lines changed: 1368 additions & 132 deletions

File tree

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,248 @@
1+
2+
# Docker
3+
4+
5+
### 常用命令
6+
7+
基于linux系统使用
8+
9+
```bash
10+
## 启动docker
11+
systemctl start docker
12+
13+
## 停止docker
14+
systemctl stop docker
15+
16+
## 重启docker
17+
systemctl restart docker
18+
19+
## 查看docker状态
20+
systemctl status docker
21+
22+
## 设置docker开机启动
23+
systemctl enable docker
24+
25+
## 查看docker概要信息
26+
docker info
27+
28+
## 查看docker总体帮助文档
29+
docker --help
30+
31+
## 查看docker命令帮助文档
32+
docker xxx命令 --help
33+
## 例如create/log/network
34+
docker create/log --help
35+
36+
```
37+
38+
### 镜像命令
39+
40+
```bash
41+
## 查看本地所有镜像
42+
docker images
43+
44+
## 在仓库中查找镜像
45+
docker search XXXX
46+
## 例如 查找mysql
47+
docker search mysql
48+
49+
## 拉取镜像,没有带tag直接拉取最新latest
50+
docker pull XXXX
51+
## 例如 拉取不同版本mysql
52+
docker pull mysql:latest
53+
docker pull mysql:5.7
54+
55+
##查看镜像/容器/数据卷所占用的空间
56+
docker system df
57+
## 例如
58+
fix@mmdapl docker % docker system df
59+
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
60+
Images 3 2 1.254GB 692.6MB (55%)
61+
Containers 2 2 90B 0B (0%)
62+
Local Volumes 3 1 184B 92B (50%)
63+
Build Cache 0 0 0B 0B
64+
65+
## 删除镜像
66+
docker rmi XXXX
67+
## 可以是镜像名称/ID等唯一确定镜像的标记
68+
69+
## 强制删除镜像
70+
docker rmi -f XXX
71+
72+
## 查看显示虚悬镜像
73+
docker images -f dangling=true
74+
## 删除所有虚悬镜像
75+
docker rmi $(docker images -q -f dangling=true)
76+
docker image prune
77+
78+
## prune: 修剪 裁剪
79+
80+
```
81+
82+
特别注意指令`docker system df``docker images -f dangling=true`的使用
83+
84+
**谈谈什么是docker虚悬镜像?**
85+
86+
> 虚悬镜像名字很高大上,实际就是指:镜像没有仓库名或没有标签
87+
88+
89+
### 容器命令
90+
91+
```bash
92+
## 运行容器
93+
docker run xxx
94+
95+
## 列出正在运行的容器
96+
docker ps
97+
98+
## 列出所有容器
99+
docker ps -a
100+
101+
## 启动已停止运行的容器
102+
docker start 容器ID或者容器名
103+
104+
## 重启容器
105+
docker restart 容器ID或者容器名
106+
107+
## 停止容器
108+
docker stop 容器ID或者容器名
109+
110+
## 强制停止容器
111+
docker kill 容器ID或者容器名
112+
113+
## 删除已停止容器
114+
docker rm 容器ID
115+
116+
## 一次性删除多个容器实例(两个方法)
117+
docker rm -f ${docker ps -a -q}
118+
docker ps -a -q | xargs docker rm
119+
120+
121+
## 查看容器日志
122+
docker logs xxxx
123+
124+
## 查看容器内运行的进程
125+
docker top xxxx
126+
127+
## 查看容器详细信息
128+
docker inspect 容器ID
129+
130+
131+
132+
```
133+
134+
#### 容器两种退出方式
135+
136+
##### exit命令
137+
138+
run命令进入容器,通过exit命令退出后,容器停止运行
139+
140+
141+
##### ctrl+p+q 命令
142+
143+
run命令进入容器,通过`ctrl+p+q`退出,容器不停止
144+
145+
146+
#### 容器两种进入方法
147+
148+
```bash
149+
## exec命令进入容器
150+
docker exec -it XXX /bin/bash
151+
152+
## attach命令进入容器
153+
docker attach 容器ID
154+
155+
```
156+
157+
attach命令和exec命令的执行区别:
158+
159+
- `attach`命令直接进入容器启动命令的终端,不会启动新的进程;用`exit`命令退出时,会导致容器停止运行
160+
- `exec`命令实在容器中打开新的终端,并且可以启动新的进程;用`exit`命令退出时,不会导致容器的停止
161+
162+
一般用`-d`命令后台启动的程序,再用`exit`命令进行对应容器实例
163+
164+
165+
166+
#### 启动后台守护容器
167+
168+
> 在大部分场景下,希望docker的服务在后台运行的,可以通过`-d`指定容器的后台运行模式
169+
170+
```bash
171+
## 运行后台守护容器
172+
docker run -d xxxx
173+
174+
## 运行前台交互容器
175+
docker run -it xxxx
176+
177+
```
178+
179+
180+
#### 文件相关
181+
182+
> export和import命令可以参考:https://blog.csdn.net/clj198606061111/article/details/50450793
183+
184+
185+
#### 拷贝cp命令
186+
187+
docker cp 容器ID : 容器中文件路径 当前主机待保存的路径
188+
189+
#### 导出export命令
190+
191+
docker export 容器ID > 文件名.tar
192+
193+
#### 导入import命令
194+
195+
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号
196+
197+
198+
## docker容器数据卷
199+
200+
注意开启文件权限,避免权限不够出现错误
201+
202+
```bash
203+
204+
## 开启文件权限
205+
--privileged=true
206+
207+
```
208+
209+
### 什么是数据卷
210+
211+
卷就是目录或者文件,存在于一个或多个容器中,由于docker挂载到容器,但不属于`联合文件系统`,因此能够绕过Union File System提供一些用于持续存储或者共享数据的特性;
212+
213+
卷的设计目的就是数据持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时`删除容器挂载的数据卷`
214+
215+
重要特点:
216+
217+
- 数据卷可以在容器之间共享或者重用数据
218+
- 数据卷中的更改可以直接实时生效,非常方便
219+
- 数据卷中的更改不会包含在镜像的更新中
220+
- 数据卷的生命周期一直持续到没有容器使用它为止
221+
222+
### 文件映射
223+
224+
> 方便进行文件映射,完成数据的持久化,保存重要数据
225+
226+
命令格式: `-v xxx容器文件路径:宿主机文件路径`
227+
228+
229+
### 容器卷读写规则
230+
231+
- ro: 只读
232+
- rw:可读可写
233+
234+
命令格式: `-v xxx容器文件路径:宿主机文件路径:读写规则`
235+
236+
237+
238+
239+
240+
241+
242+
243+
244+
245+
246+
247+
248+

0 commit comments

Comments
 (0)