Docker 入门实践:从镜像、容器到数据卷,一次搞懂核心概念
Docker 入门实践:从镜像、容器到数据卷,一次搞懂核心概念
很多同学第一次接触 Docker 时,会被「镜像」「容器」「仓库」「数据卷」这些名词绕晕。其实只要抓住一句话:镜像是模板,容器是模板跑起来的实例。本文用最少的命令,带你把这条主线完整走一遍。
一、镜像与容器
镜像(Image)是一个只读的打包文件,里面装好了操作系统、依赖和你的程序。容器(Container)则是镜像运行后的进程,可读可写,可以启动、停止、删除。
先拉取并运行一个 Nginx:
docker pull nginx:latest
docker run -d --name web -p 8080:80 nginx:latest
-d 让容器后台运行,--name 给它起名字,-p 8080:80 把宿主机 8080 端口映射到容器 80 端口。打开浏览器访问 http://localhost:8080,看到欢迎页就说明成功了。
查看与进入容器:
docker ps # 查看运行中的容器
docker ps -a # 包括已停止的容器
docker exec -it web bash # 进入容器内部
docker logs -f web # 实时查看日志
二、用 Dockerfile 构建自己的镜像
真正的价值在于把自己的应用打包成镜像。写一个 Dockerfile:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
然后构建并运行:
docker build -t myapp:1.0 .
docker run -d -p 5000:5000 myapp:1.0
FROM 指定基础镜像,WORKDIR 设置工作目录,COPY 拷贝文件,RUN 在构建时执行,CMD 是容器启动命令。Docker 会分层缓存,把「安装依赖」放在「拷贝源码」之前能大幅加快重复构建的速度,这是很常见的优化。
三、数据卷:让数据活得比容器久
容器一旦删除,里面的数据也会随之消失。用数据卷(Volume)可以把重要数据持久化到宿主机:
docker volume create mydata
docker run -d -v mydata:/app/data myapp:1.0
-v mydata:/app/data 把命名卷挂载到容器内目录,即使容器重建,数据依然保留。
四、小结
记住四件事就够了:镜像是模板,容器是实例,Dockerfile 用来造镜像,数据卷用来存数据。先把这几个命令练熟,再去了解 Docker Compose 编排多容器,会顺畅很多。动手跑一遍,比看十篇教程都管用。
- 点赞
- 收藏
- 关注作者
评论(0)