【Docker项目实战】使用Docker部署ActionView问题需求跟踪工具

举报
江湖有缘 发表于 2024/12/28 15:24:55 2024/12/28
323 0 0
【摘要】 【Docker项目实战】使用Docker部署ActionView问题需求跟踪工具

@TOC

一、ActionView介绍

1.1 ActionView简介

ActionView 是 Ruby on Rails 框架的一个核心组成部分,负责处理应用程序的视图层。它是一个模板引擎,允许开发者编写动态HTML页面,这些页面可以根据传入的数据自动渲染。ActionView 与控制器(ActionController)紧密协作,接收来自控制器的数据,并将其转换成最终呈现给用户的网页。

1.2 主要特点

  • 模板引擎:ActionView 提供了一个强大且灵活的模板引擎,支持嵌入式 Ruby 代码(ERB),也支持其他模板引擎,如 Haml 和 Slim。
  • 布局与局部视图:可以定义通用的页面布局,并通过局部视图重用页面组件,从而减少重复代码,使视图更加模块化。
  • 辅助方法:提供了丰富的辅助方法来帮助生成 HTML 标签、日期格式化、数字格式化等,简化了视图逻辑。
  • 缓存机制:支持片段缓存、页面缓存等多种缓存策略,可以显著提高应用性能。
  • 国际化支持:内置了对多语言和区域设置的支持,便于构建国际化的应用。
  • 表单构建:提供了便捷的方法来生成复杂的表单,包括错误消息显示、表单字段绑定等。

1.3 主要使用场景

  • Web 应用开发:ActionView 最常见的使用场景是在构建基于 Web 的应用程序时,用于生成动态的 HTML 内容。
  • API 开发:虽然 ActionView 主要用于生成 HTML,但它也可以与其他模板引擎一起使用,生成 JSON、XML 等格式的数据,适用于 API 开发。
  • 邮件模板:可以利用 ActionView 创建动态的电子邮件模板,根据用户数据个性化邮件内容。
  • 报告生成:生成复杂的报告页面,利用 ActionView 的布局和局部视图功能,可以轻松地构建包含图表、表格等元素的报告。
  • 静态页面生成:即使对于静态页面,ActionView 也能提供一定的便利性,比如通过布局来统一网站风格。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 镜像名称
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 ncarlier/readflow:edge

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署ActionView问题需求跟踪工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago
       Docs: https://docs.docker.com
   Main PID: 10450 (dockerd)
      Tasks: 150 (limit: 9387)
     Memory: 3.4G
        CPU: 46min 54.584s
     CGroup: /system.slice/docker.service
             ├─10450 /usr/bin/dockerd
             ├─10459 containerd --config /var/run/docker/containerd/containerd.toml

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、下载ActionView镜像

执行以下命令,拉取以下ActionView相关镜像。

docker pull  lxerxa/actionview:latest
docker pull lxerxa/actionviewnginx:latest
docker pull lxerxa/actionviewdb:latest

在这里插入图片描述

五、部署ActionView应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/actionview && cd /data/actionview

5.2 编辑部署文件

在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vim docker-compose.yaml
version: '3'

services:
  web:
    image: lxerxa/actionview:latest
    restart: always
    volumes:
      - /data/actionview/uploads:/var/www/actionview/storage/app
    expose:
      - 80
    depends_on:
      - db
    links:
      - db:db
    command: /bin/bash /scripts/run.sh

  cron:
    image: lxerxa/actionview:latest
    restart: always
    volumes_from:
      - web
    depends_on:
      - db
    links:
      - db:db
    command: /bin/bash /scripts/cronrun.sh

  nginx:
    restart: always
    image: lxerxa/actionviewnginx:latest
    depends_on:
      - web
    ports:
      - 8500:80
    links:
      - web:web

  db:
    image: lxerxa/actionviewdb:latest
    restart: always
    expose:
      - 27017
    volumes:
      - /data/actionview/db:/data
    command: /bin/bash /scripts/run.sh

5.3 创建ActionView容器

执行以下命令,创建ActionView容器。

 docker compose up -d

在这里插入图片描述

5.5 查看ActionView容器状态

检查ActionView容器状态状态,确保ActionView容器正常启动。

root@jeven01:/data/actionview# docker compose ps
NAME                 IMAGE                           COMMAND                  SERVICE             CREATED             STATUS              PORTS
actionview-cron-1    lxerxa/actionview:latest        "/bin/bash /scripts/…"   cron                48 minutes ago      Up48 minutes
actionview-db-1      lxerxa/actionviewdb:latest      "/bin/bash /scripts/…"   db                  48 minutes ago      Up48 minutes       27017/tcp
actionview-nginx-1   lxerxa/actionviewnginx:latest   "/usr/sbin/nginx"        nginx               48 minutes ago      Up48 minutes       0.0.0.0:8500->80/tcp, :::8500->80/tcp
actionview-web-1     lxerxa/actionview:latest        "/bin/bash /scripts/…"   web                 48 minutes ago      Up48 minutes       80/tcp

六、访问ActionView服务

访问地址:http://192.168.3.88:8500,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

默认管理员账号: admin@action.view;密码: actionview

在这里插入图片描述

七、总结

在使用 Docker 部署 ActionView 问题需求跟踪工具的过程中,容器化技术显著简化了环境配置和依赖管理,使得开发和部署更加高效。ActionView 与 Docker 的结合,不仅提高了应用的可移植性和一致性,还加速了开发和测试环境的搭建。通过标准化的容器环境,团队成员能够更快地上手和协同工作,提升了整体开发效率。实践表明,Docker 化部署在现代 Web 应用开发中具有明显优势。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。