常用的容器管理方式

文章目录

    • [🎯 容器管理基础三件套](#🎯 容器管理基础三件套)
      • [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


💡 新手建议

  1. 从简单开始:先用命令行玩,熟悉了再用配置文件
  2. 先学Dockerfile:这是基础,一定要会
  3. 再学Docker Compose:日常开发最有用
  4. 最后学Kubernetes:工作中需要时再学

记住这个顺序:
命令行 → Dockerfile → Docker Compose → Kubernetes

相关推荐
阿里云云原生11 小时前
Agent 观测与优化三城巡演丨第二站深圳精彩回顾 & PPT 下载
云原生
Henry-SAP15 小时前
AI产业迎来标准化与商业化双突破
人工智能·云原生·sap·erp
报错小能手1 天前
Kubernetes入门实战课 3
云原生·容器·kubernetes
2601_962219011 天前
版本平滑升级架构:万象生鲜系统 V4.3.3 迭代无停机更新技术拆解
微服务·云原生·架构
阿里云云原生1 天前
深入解析 STAROps 瑶池 Agent:如何实现从应用告警到数据库命令级的全栈 RCA?
云原生
阿里云云原生1 天前
告别手工配置:利用 Migration Skill 实现 Nginx Ingress 注解的智能分析与自动转换
云原生
2601_962218471 天前
万象生鲜系统冷链物联网接入技术实现生鲜企业温控管理数字化
大数据·运维·微服务·云原生·架构
阿里云云原生1 天前
Event-Driven AI 架构解析:从 Confluent Intelligence 三大支柱到阿里云实践
云原生
阿里云云原生1 天前
从手工回测到全自动化:AgentLoop 在 Agent Engineering 中的落地与实践总结
云原生·agent
报错小能手1 天前
Kubernetes入门实战课 1
云原生·容器·kubernetes