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

搭建复现环境

 初始准备:安装配置搬运工

1,安装配置搬运工 这个流行的容器化工具。步骤如下:

更新软件源

apt-get update

​编辑

安装搬运工

apt-get install 搬运工.io

​编辑

2,修改搬运工的配置文件,添加内容

sudo systemctl daemon-reload

sudo systemctl restart 搬运工

重启搬运工服务使配置生效

​编辑

查看运行状态可以看到配置生效

sudo systemctl status 搬运工

​编辑

3,为了方便管理,可以按照配置搬运工 compose

​编辑

添加可执行权限

sudo chmod +x /usr/local/bin/搬运工-compose

测试安装结果

搬运工-compose --version

​编辑

搬运工 Compose 是什么?

1. 核心定义

搬运工 Compose 是 搬运工 官方提供的容器编排工具,用于简化多容器应用的部署与管理。它允许通过一个 YAML 配置文件(搬运工-compose.yml)定义复杂的应用服务、网络、存储卷等资源,并通过单一命令完成所有服务的启动、停止和重建。

详细配置解析(以 LAMP 环境为例)

1. 多服务定义

yaml

复制

2. 网络配置

默认情况下,Compose 会为项目创建一个独立网络,服务间可通过服务名通信:

yaml

复制

# PHP代码中连接MySQL的配置
$dbHost = 'db';  # 直接使用服务名

3. 环境变量管理

  • 直接定义
    yaml
    复制
    environment:
      MYSQL_USER: admin
  • 从 .env 文件读取
    bash
    复制
    # .env 文件
    DB_PASSWORD=secret
    yaml
    复制
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}

4. 健康检查(高级)

确保服务完全就绪后再启动依赖项:

yaml

复制

services:
  db:
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 3s
      retries: 5

六、实际应用场景与示例

场景1:快速启动 WordPress

yaml

复制

场景2:多环境配置

  • 开发环境 (搬运工-compose.dev.yml):
    yaml
    复制
    services:
      web:
        volumes:
          - ./src:/app  # 实时同步代码
        ports:
          - "3000:3000"
  • 生产环境 (搬运工-compose.prod.yml):
    yaml
    复制
    services:
      web:
        restart: always
        ports:
          - "80:3000"

启动命令:

# 开发环境
搬运工-compose -f 搬运工-compose.yml -f 搬运工-compose.dev.yml up

# 生产环境
搬运工-compose -f 搬运工-compose.yml -f 搬运工-compose.prod.yml up -d

七、常见问题与解决

1. 服务启动顺序问题

  • 问题:Web 服务在数据库未就绪时尝试连接,导致失败。
  • 解决:使用 depends_on + healthcheck 确保依赖服务健康后再启动。

2. 端口冲突

  • 问题:Error: Port is already allocated。
  • 解决:修改 ports 配置或停止占用端口的进程。

3. 文件权限问题

  • 问题:容器内应用无法写入挂载的目录。
  • 解决:在 搬运工file 或启动脚本中设置目录权限:
    搬运工file
    复制
    RUN chown -R www-data:www-data /var/www/html

八、最佳实践

  1. 版本控制:将 搬运工-compose.yml 和 .env 文件纳入 Git 仓库,但排除敏感数据(如密码)。
  2. 最小化镜像:使用 Alpine 等轻量级基础镜像减少资源占用。
  3. 日志管理:配置日志驱动避免容器日志占用过多磁盘空间:
    yaml
    复制
  4. 安全加固:避免在配置中硬编码密码,使用 搬运工 Secrets 或环境变量文件。

九、总结

搬运工 Compose 是现代化开发和部署的利器,通过声明式配置实现基础设施即代码。无论是单服务调试还是复杂微服务架构,Compose 都能显著提升效率。掌握其核心配置和命令后,您可以轻松管理多容器应用,实现开发与生产环境的高度一致性。

搬运工搭建LAMP环境

1,拉取LAMP的搬运工镜像:

搬运工 pull linode/lamp

​编辑

2,通过该镜像启动一个服务

搬运工 run -it -p 8001:80 linode/lamp /bin/bash

  1. 命令结构解析
  • 搬运工 run:创建并启动一个新容器。
  • -it:组合参数,-i保持标准输入打开,-t分配伪终端,允许用户与容器交互。
  • -p 8001:80:将主机的8001端口映射到容器的80端口,使外部可通过主机的8001端口访问容器内的Web服务(如Apache)。
  • linode/lamp:使用的搬运工镜像,提供预配置的LAMP(Linux + Apache + MySQL + PHP)环境。
  • /bin/bash:在容器内启动Bash shell,进入交互式命令行界面。
  1. 核心作用
  • 启动一个可交互的LAMP容器,用户可通过Bash直接操作容器内部(如调试、修改配置)。
  • 通过端口映射,允许通过主机8001端口访问容器内的Web服务(假设Apache已启动并监听80端口)。
  1. 潜在问题与注意事项
  • 服务未自动启动:若镜像默认通过CMD/ENTRYPOINT启动服务(如Apache/MySQL),覆盖为/bin/bash可能导致服务未运行。
  • 容器生命周期:退出Bash(输入exit)会导致容器停止,若需后台运行,可在启动时添加-d选项,并使用搬运工 exec -it <容器ID> /bin/bash进入容器。
  • 数据持久化:容器内修改(如网站文件、数据库)默认随容器删除而丢失,需通过-v挂载卷实现持久化。

需手动启动服务
service apache2 start 
service mysql start  

​编辑

验证实验效果,访问192.168.23.154:8001

​编辑

进入容器的bash进行管理

搬运工 exec -it <容器ID> /bin/bash

搬运工 compose搭建wordpress

编写一个yaml文件

vim wordpress.yml然后再启动我们的实验环境,即

搬运工-compose -f wordpress.yml up -d

搭建成功,但是不知为何无法连接到数据库

 

 

相关文章:

  • 06.unity 游戏开发-unity2D工程的创建及使用方式和区别
  • 基础知识补充篇:认识区块链浏览器
  • 【C++算法】49.分治_归并_计算右侧小于当前元素的个数
  • 免费Deepseek-v3接口实现Browser-Use Web UI:浏览器自动化本地模拟抓取数据实录
  • 如何为多个条件构建 Bson 过滤器
  • 蓝桥杯python组备赛(记录个人模板)
  • 【实践总结】如何编写“多角色适配”的高质量技术文档?
  • HTTP 教程 : 从 0 到 1 全面指南 教程【全文三万字保姆级详细讲解】
  • DiffSynth-Studio-视频的风格转换 CUDA日志
  • OpenCV--图像边缘检测
  • 临床 不等于 医学-《分析模式》漫谈52
  • 企业落地AI难的隐形枷锁-正是数据问题
  • C 变量:深入解析与高效使用
  • 《基于 std::vector 的简单本地注册登录系统设计与实现》
  • 用claude3.7,不到1天写了一个工具小程序(11个工具6个游戏)
  • 在PowerBI中通过比较日期实现累加计算
  • Python基础——Pandas库
  • vue2和vue3的主要区别
  • 【C语言】跳台阶
  • Vue2 快速过度 Vue3 教程 (后端学习)
  • 优化网站的目的/域名查询ip爱站网
  • 网站是哪家公司做的/免费个人网站模板
  • 怎么设置网站标题/珠海网络推广公司
  • 做一个网站的基本步骤/网页设计模板
  • 广州网络引流公司/电商seo优化
  • 官方网站、门户网站是什么意思?/专业做灰色关键词排名