Docker容器基础


文档摘要

Docker容器基础 Docker简化应用部署和管理。 核心概念 镜像 容器 仓库 基本操作 镜像管理 容器操作 进入容器 Dockerfile 基本语法 最佳实践 构建镜像 数据管理 数据卷 挂载目录 网络配置 网络模式 创建网络 Docker Compose 基本使用 常用命令 实践建议 最小化镜像:使用alpine版本 安全加固:不要以root运行 资源限制:限制CPU和内存 健康检查:添加HEALTHCHECK 日志管理:配置日志驱动 Docker让应用部署变得简单高效。

Docker容器基础

Docker简化应用部署和管理。

核心概念

镜像

只读模板 包含应用和依赖 分层存储

容器

镜像的运行实例 隔离的运行环境 可写层

仓库

存储和分发镜像 Docker Hub:公共仓库 私有仓库:企业使用

基本操作

镜像管理

# 搜索镜像 docker search nginx # 拉取镜像 docker pull nginx:latest # 查看镜像 docker images # 删除镜像 docker rmi nginx

容器操作

# 运行容器 docker run -d -p 80:80 --name web nginx # 查看容器 docker ps # 停止容器 docker stop web # 启动容器 docker start web # 删除容器 docker rm web

进入容器

# 交互式进入 docker exec -it web bash # 查看日志 docker logs web # 查看详情 docker inspect web

Dockerfile

基本语法

# 基础镜像 FROM python:3.9 # 工作目录 WORKDIR /app # 复制文件 COPY requirements.txt . RUN pip install -r requirements.txt # 复制代码 COPY . . # 暴露端口 EXPOSE 8000 # 启动命令 CMD ["python", "app.py"]

最佳实践

使用官方基础镜像 合并RUN命令 利用缓存机制 添加.dockerignore

构建镜像

docker build -t myapp:1.0 .

数据管理

数据卷

# 创建卷 docker volume create mydata # 使用卷 docker run -v mydata:/data nginx

挂载目录

# 挂载主机目录 docker run -v /host/path:/container/path nginx # 只读挂载 docker run -v /host/path:/container/path:ro nginx

网络配置

网络模式

bridge:默认模式 host:使用主机网络 none:无网络 container:共享容器网络

创建网络

# 创建网络 docker network create mynet # 连接容器 docker run --network mynet nginx # 容器间通信 docker run --name db --network mynet postgres docker run --network mynet --link db:database nginx

Docker Compose

基本使用

version: '3' services: web: build: . ports: - "8000:8000" depends_on: - db db: image: postgres:13 environment: POSTGRES_PASSWORD: secret volumes: - dbdata:/var/lib/postgresql/data volumes: dbdata:

常用命令

# 启动服务 docker-compose up -d # 查看状态 docker-compose ps # 查看日志 docker-compose logs # 停止服务 docker-compose down

实践建议

  1. 最小化镜像:使用alpine版本
  2. 安全加固:不要以root运行
  3. 资源限制:限制CPU和内存
  4. 健康检查:添加HEALTHCHECK
  5. 日志管理:配置日志驱动

Docker让应用部署变得简单高效。


发布者: 作者: 转发
评论区 (0)
U