Docker 和 Docker Compose 使用指南
一、Docker 核心概念
- 镜像(Image) :应用的静态模板(如
nginx:latest
)。 - 容器(Container) :镜像的运行实例。
- 仓库(Registry) :存储镜像的平台(如 Docker Hub)。
二、Docker 常用命令
-
镜像管理
- 拉取镜像:
docker pull <镜像名>:<标签>
(例:docker pull nginx:latest
) - 构建镜像:
docker build -t <镜像名> <Dockerfile目录>
(例:docker build -t myapp:v1 .
) - 查看镜像列表:
docker images
- 删除镜像:
docker rmi <镜像ID或名称>
- 拉取镜像:
-
容器操作
-
启动容器:
docker run -d -p <主机端口>:<容器端口> --name <容器名> <镜像>
(例:docker run -d -p 80:80 --name mynginx nginx
)-
-d
:后台运行 -
-p
:端口映射 -
-v
:挂载卷(例:-v /宿主机路径:/容器路径
)
-
-
查看运行中的容器:
docker ps
-
查看所有容器:
docker ps -a
-
停止容器:
docker stop <容器ID或名称>
-
删除容器:
docker rm <容器ID或名称>
-
进入容器终端:
docker exec -it <容器名> /bin/bash
-
查看日志:
docker logs <容器名>
-
三、Docker Compose 编排多容器应用
用于通过 YAML 文件定义和运行多个容器。
-
核心概念
- docker-compose.yml:定义服务、网络、卷的配置文件。
- 服务(Service) :一个容器实例(如 Web 服务、数据库)。
-
常用命令
-
启动服务:
docker-compose up -d
(-d
后台运行) -
停止并删除容器:
docker-compose down
- 删除同时移除数据卷:
docker-compose down --volumes
- 删除同时移除数据卷:
-
构建镜像:
docker-compose build
-
查看服务状态:
docker-compose ps
-
查看日志:
docker-compose logs <服务名>
-
-
示例 docker-compose.yml
version: "3.8" services:web:image: nginx:latestports:- "80:80"volumes:- ./html:/usr/share/nginx/htmldb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example
四、常用场景示例
-
快速启动一个 Nginx 容器
docker run -d -p 80:80 --name my_web nginx
-
使用 Docker Compose 启动 WordPress
version: "3.8" services:wordpress:image: wordpress:latestports:- "8080:80"environment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: exampledepends_on:- dbdb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example
启动命令:
docker-compose up -d
五、注意事项
- 权限问题:Linux 用户需将当前用户加入
docker
组(sudo usermod -aG docker $USER
)。 - 数据持久化:使用
-v
或volumes
挂卷保存重要数据。 - 资源清理:定期使用
docker system prune
清理无用镜像、容器。
掌握这些命令后,你可以高效管理容器化应用!