🐳 Docker 入门学习笔记(小白也能看懂!)
🚀 什么是 Docker?
Docker 就像一个“应用装在盒子里”的系统,它可以让我们在任何地方快速运行一个“打包好的应用环境”。
- 容器(Container):装着软件和运行环境的盒子
- 镜像(Image):这个盒子的“蓝图”,可以无限复制
- 宿主机(Host):你电脑/服务器,就是装盒子的地方
🛠 Docker 常用命令一览
命令 | 说明 |
---|---|
docker ps |
查看正在运行的容器 |
docker ps -a |
查看所有容器(包括已停止的) |
docker images |
查看已有镜像 |
docker run |
创建并运行容器 |
docker start 容器名/ID |
启动一个停止的容器 |
docker stop 容器名/ID |
停止容器 |
docker rm 容器名/ID |
删除容器 |
docker rmi 镜像名/ID |
删除镜像 |
📦 Docker 数据卷(Volume)
✅ 什么是数据卷?
Docker 容器里的数据默认是临时的,你一删容器数据就没了。
数据卷就是 Docker 的“存档系统”,数据可以长期保存。
🎮 打比方:
- 容器就像是你玩的游戏
- 数据卷就像你保存进度的U盘
- 不挂数据卷 = 玩了也白玩,关机就全没了!
🧱 如何使用数据卷?
✅ 创建并挂载数据卷:
|
|
-
-v 卷名:容器内部路径
-
上面例子就是:把容器的
/var/lib/mysql
存储在宿主机的mysql-data
卷里。
🔍 查看和管理卷
|
|
⚠️ volume prune
是大扫除,用前请慎重!
⚠️ 常见错误:端口占用
如果你运行容器时报这个错:
|
|
🎯 说明:
👉 你要映射的端口(比如 3306)已经被别的程序/容器占用了!
🛠 解决方法:
-
找到谁占用了端口:
1
lsof -i :3306
-
杀掉那个进程:
1
kill -9 进程ID
-
或者换一个端口映射:
1
-p 13306:3306 # 把宿主机的13306映射到容器的3306
🌊 小结
名词 | 通俗理解 |
---|---|
容器 | 装着应用的“盒子” |
镜像 | 造盒子的“模具” |
卷(volume) | 用来保存“盒子数据”的U盘 |
-v 参数 |
把容器里的数据保存出来 |
-p 参数 |
把容器里的端口映射出来 |
-e 参数 |
给容器传环境变量,比如数据库密码 |
💡 推荐学习方式
-
多用
docker run
搞实验 -
数据重要的容器 一定要挂数据卷!
-
不怕错,错了就
docker rm
删除重来!
🎉 恭喜你,已经比大多数人更懂 Docker 的基础啦!继续冲!