文章目录
-
- [🎯 容器管理基础三件套](#🎯 容器管理基础三件套)
-
- [1. 命令行管理(最基础)](#1. 命令行管理(最基础))
- [2. Dockerfile(构建镜像的配方)](#2. Dockerfile(构建镜像的配方))
- [3. Docker Compose(多容器管理)](#3. Docker Compose(多容器管理))
- [📁 配置文件存放结构示例](#📁 配置文件存放结构示例)
- [🔧 两种最常用的管理方式对比](#🔧 两种最常用的管理方式对比)
- [🎪 简单实践:3步搭建一个网站](#🎪 简单实践:3步搭建一个网站)
- [💡 新手建议](#💡 新手建议)
🎯 容器管理基础三件套
1. 命令行管理(最基础)
bash
# 最基本的管理命令
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器(包括停止的)
docker run nginx # 运行一个容器
docker stop 容器id/名称 # 停止容器
docker start 容器id/名称 # 启动已停止的容器
docker rm 容器id/名称 # 删除容器
docker logs 容器id/名称 # 查看容器日志
docker exec -it 容器id bash # 进入容器内部
使用场景:临时测试、快速调试、个人使用
2. Dockerfile(构建镜像的配方)
这是一个文本文件,告诉Docker如何构建镜像:
dockerfile
# 最简单的Dockerfile示例
FROM nginx:latest # 基础镜像
COPY index.html /usr/share/nginx/html # 复制文件
EXPOSE 80 # 暴露端口
CMD ["nginx", "-g", "daemon off;"] # 启动命令
构建和运行:
bash
docker build -t my-nginx . # 构建镜像
docker run -p 8080:80 my-nginx # 运行容器
核心指令:
FROM:基础镜像COPY/ADD:复制文件RUN:执行命令CMD/ENTRYPOINT:启动命令EXPOSE:声明端口
3. Docker Compose(多容器管理)
一个docker-compose.yml文件,可以管理多个容器:
yaml
# 简单的docker-compose.yml示例
version: '3'
services:
web: # 第一个服务
image: nginx
ports:
- "80:80"
db: # 第二个服务
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- db_data:/var/lib/mysql
volumes:
db_data: # 数据卷
基本命令:
bash
docker-compose up -d # 启动所有服务
docker-compose down # 停止并删除
docker-compose logs # 查看日志
docker-compose ps # 查看状态
使用场景:本地开发、测试环境、简单部署
📁 配置文件存放结构示例
my-app/ # 项目根目录
├── Dockerfile # 镜像构建文件
├── docker-compose.yml # 多容器编排
├── src/ # 源代码
├── config/ # 配置文件
│ └── nginx.conf
└── data/ # 数据文件
└── init.sql
🔧 两种最常用的管理方式对比
| 方式 | 适合场景 | 优点 | 命令示例 |
|---|---|---|---|
| 命令行 | 快速测试、调试 | 简单直接、立即生效 | docker run -d nginx |
| Docker Compose | 本地开发、多服务应用 | 一键启动、配置清晰 | docker-compose up |
🎪 简单实践:3步搭建一个网站
步骤1:创建文件
html
<!-- index.html -->
<html><body><h1>Hello Docker!</h1></body></html>
dockerfile
# Dockerfile
FROM nginx:alpine
COPY index.html /usr/share/nginx/html
yaml
# docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "8080:80"
步骤2:启动
bash
# 一个命令启动所有
docker-compose up -d
步骤3:访问
打开浏览器访问:http://localhost:8080
💡 新手建议
- 从简单开始:先用命令行玩,熟悉了再用配置文件
- 先学Dockerfile:这是基础,一定要会
- 再学Docker Compose:日常开发最有用
- 最后学Kubernetes:工作中需要时再学
记住这个顺序:
命令行 → Dockerfile → Docker Compose → Kubernetes