Docker 使用指南
【摘要】 Docker 使用指南一、安装 DockerLinux (Ubuntu/Debian):curl -fsSL https://get.docker.com | shsudo systemctl start dockersudo systemctl enable dockerWindows / macOS: 下载安装即可。验证安装:docker --versiondocker run hell...
Docker 使用指南
一、安装 Docker
Linux (Ubuntu/Debian):
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
Windows / macOS: 下载安装即可。
验证安装:
docker --version
docker run hello-world
二、核心概念
| 概念 | 说明 |
|---|---|
| 镜像 (Image) | 只读模板,包含应用及运行环境 |
| 容器 (Container) | 镜像的运行实例,可启动/停止/删除 |
| 仓库 (Registry) | 存放镜像的地方,如 Docker Hub |
| Dockerfile | 构建镜像的脚本文件 |
| 卷 (Volume) | 持久化数据存储 |
三、常用命令
镜像操作
docker pull nginx # 拉取镜像
docker images # 查看本地镜像
docker rmi nginx # 删除镜像
docker build -t myapp:1.0 . # 根据 Dockerfile 构建镜像
容器操作
docker run -d -p 8080:80 --name web nginx # 后台运行并映射端口
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器
docker stop web # 停止容器
docker start web # 启动容器
docker restart web # 重启
docker rm web # 删除容器
docker logs -f web # 查看日志
docker exec -it web bash # 进入容器
docker run 常用参数
-d 后台运行
-p 宿主:容器 端口映射
-v 宿主:容器 目录挂载
--name 容器命名
-e KEY=VALUE 设置环境变量
--restart=always 自动重启
--network 指定网络
四、Dockerfile 示例
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "app.py"]
构建并运行:
docker build -t myapp .
docker run -d -p 8000:8000 myapp
五、数据持久化
# 命名卷(推荐)
docker volume create mydata
docker run -d -v mydata:/data nginx
# 绑定挂载(开发常用)
docker run -d -v $(pwd)/html:/usr/share/nginx/html nginx
六、Docker Compose(多容器编排)
docker-compose.yml 示例:
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
命令:
docker compose up -d # 启动所有服务
docker compose ps # 查看状态
docker compose logs -f # 查看日志
docker compose down # 停止并删除
七、学习路径建议
- 基础:跑通 hello-world → 拉取/运行镜像 → 端口映射
- 进阶:编写 Dockerfile → 构建自定义镜像
- 数据:理解卷与绑定挂载
- 编排:Docker Compose 管理多服务
- 网络:容器间通信、自定义网络
- 优化:镜像分层、多阶段构建、体积优化
八、实用小贴士
- 清理空间:
docker system prune -a(谨慎,会删除未用镜像和容器) - 查看资源占用:
docker stats - 多阶段构建减小镜像体积:
FROM golang:1.21 AS builder WORKDIR /src COPY . . RUN go build -o app FROM alpine COPY --from=builder /src/app /app CMD ["/app"] - 国内加速:配置镜像加速器(如阿里云容器镜像服务)可加快拉取速度。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)