当前位置: 首页 > news >正文

Docker 篇

引言

Docker 是一种轻量级容器化技术,通过标准化环境封装应用及其依赖,实现跨平台的高效部署。本指南将详细介绍 Docker 部署的全流程,涵盖基础环境搭建、容器配置、高级管理等核心内容。

环境准备

安装 Docker

Windows 系统
  1. 下载 Docker Desktop 安装包:Docker Desktop
  2. 运行安装程序,选择 “Install”
  3. 完成安装后,通过以下命令验证:
docker --version
Linux 系统(Ubuntu 为例)
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
docker --version
Mac 系统
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

基础部署流程

镜像获取

# 拉取官方镜像
docker pull nginx:latest

# 拉取特定版本
docker pull mysql:8.0

容器运行

# 简单运行
docker run -d -p 80:80 --name webserver nginx

# 带数据卷
docker run -d \
  -v /data/mysql:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=secret \
  --name mysql-server \
  mysql:8.0

容器管理

命令说明
docker ps查看运行中的容器
docker stop [容器ID]停止容器
docker start [容器ID]启动容器
docker logs [容器ID]查看容器日志
docker exec -it [容器ID] bash进入容器终端

高级配置

Docker Compose 部署

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
  db:
    image: mysql:8.0
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./mysql_data:/var/lib/mysql

网络配置

# 创建自定义网络
docker network create my-network

# 容器加入网络
docker run -d --network my-network --name web1 nginx

安全加固

# 限制容器资源
docker run -d \
  --memory=512m \
  --cpus=1 \
  --name app-container \
  myapp:latest

# 使用只读文件系统
docker run -d --read-only --name secure-app myapp:latest

生产环境优化

监控与日志

# 安装Prometheus监控
docker run -d \
  -p 9090:9090 \
  --name prometheus \
  prom/prometheus

# 配置日志驱动
docker run -d \
  --log-driver=json-file \
  --log-opt max-size=10m \
  --name app \
  myapp:latest

常见问题处理

镜像拉取失败

# 更换国内镜像源
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
sudo systemctl restart docker

容器无法启动

# 查看详细日志
docker logs -f --tail=50 [容器ID]

# 检查资源限制
docker stats [容器ID]

数据卷权限问题

# 修改挂载目录权限
sudo chown -R 1000:1000 /data/mysql

参考资源

  1. Docker 官方文档
  2. Docker Hub 镜像库
  3. Docker Compose 用户指南

本指南提供了从基础到高级的 Docker 部署方案,适用于开发测试到生产环境的全生命周期管理。如需进一步了解特定场景的部署优化策略,可随时补充说明具体需求。

相关文章:

  • IU5380C同步降压型2~4节多类型锂电池充电管理IC
  • 【形态学操作中的腐蚀和膨胀详解】
  • RuleOS:区块链开发的“破局者”,开启DApp创新的新纪元
  • Python入门3:类与面对对象
  • LeetCode 376. 摆动序列 java题解
  • 从 “12.3” 的崩溃到完美的解决方案:一场类型选择的冒险之旅
  • 蓝桥杯备赛-差分-重新排序
  • hive面试题--left join的坑
  • k8s集群中部署dcgm-exporter收集GPU指标
  • 机器学习 Day01人工智能概述
  • 串口数据记录仪DIY,体积小,全开源
  • 华为Mate 60 Pro+ 等机型适配支持运营商北斗卫星短信功能
  • 代码随想录算法训练营第六十一天 | 108. 冗余连接 109. 冗余连接II
  • 前端(AJAX)学习笔记(CLASS 4):进阶
  • 图库 | 基于图增强的智慧审计系统革新
  • Pika 技术浅析(三):生成对抗网络
  • C++编程:进阶阶段—4.2对象
  • 【十四】Golang 接口
  • 一学就会的深度学习基础指令及操作步骤(5)使用预训练模型
  • Vue3实战学习(Element-Plus常用组件的使用(输入框、下拉框、单选框多选框、el-image图片))(上)(5)
  • 独行侠以1.8%概率获得状元签,NBA原来真的有剧本?
  • 高波︱忆陈昊:在中年之前离去
  • 马上评丨为护士减负,不妨破除论文“硬指标”
  • 湖北宜昌:在青山绿水间解锁乡村振兴“密码”
  • 经济日报刊文:品牌经营不能让情怀唱“独角戏”
  • 《中国人民银行业务领域数据安全管理办法》发布,6月30日起施行