Docker 入门学习笔记(小白也能看懂!)

830字

🐳 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盘
  • 不挂数据卷 = 玩了也白玩,关机就全没了!

🧱 如何使用数据卷?

✅ 创建并挂载数据卷:

1
2
3
4
5
6
docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=123 \
  -p 3306:3306 \
  -v mysql-data:/var/lib/mysql \
  mysql
  • -v 卷名:容器内部路径

  • 上面例子就是:把容器的 /var/lib/mysql 存储在宿主机的 mysql-data 卷里。


🔍 查看和管理卷

1
2
3
4
docker volume ls           # 查看有哪些卷
docker volume inspect 卷名 # 查看卷详情(比如路径)
docker volume rm 卷名      # 删除某个卷
docker volume prune        # 删除所有没用的卷

⚠️ volume prune 是大扫除,用前请慎重!


⚠️ 常见错误:端口占用

如果你运行容器时报这个错:

1
Error: listen tcp4 0.0.0.0:3306: bind: address already in use

🎯 说明:

👉 你要映射的端口(比如 3306)已经被别的程序/容器占用了!

🛠 解决方法:

  1. 找到谁占用了端口:

    1
    
    lsof -i :3306
    
  2. 杀掉那个进程:

    1
    
    kill -9 进程ID
    
  3. 或者换一个端口映射:

    1
    
    -p 13306:3306  # 把宿主机的13306映射到容器的3306
    

🌊 小结

名词 通俗理解
容器 装着应用的“盒子”
镜像 造盒子的“模具”
卷(volume) 用来保存“盒子数据”的U盘
-v 参数 把容器里的数据保存出来
-p 参数 把容器里的端口映射出来
-e 参数 给容器传环境变量,比如数据库密码

💡 推荐学习方式

  1. 多用 docker run 搞实验

  2. 数据重要的容器 一定要挂数据卷!

  3. 不怕错,错了就 docker rm 删除重来!


🎉 恭喜你,已经比大多数人更懂 Docker 的基础啦!继续冲!

如对内容有异议,请联系关邮箱2285786274@qq.com修改