极简部署指南:使用Docker一键搭建Calcium高级网页计算器

极简部署指南:使用Docker一键搭建Calcium高级网页计算器

  • 一、Calcium介绍
    • [1.1 Calcium简介](#1.1 Calcium简介)
    • [1.2 Calcium功能](#1.2 Calcium功能)
    • [1.3 Calcium使用场景](#1.3 Calcium使用场景)
  • 二、本地环境介绍
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、下载Calcium镜像
  • 五、部署Calcium
    • [5.1 使用docker-cli创建Calcium容器](#5.1 使用docker-cli创建Calcium容器)
    • [5.2 编辑docker-compose.yaml文件](#5.2 编辑docker-compose.yaml文件)
    • [5.3 运行Calcium容器](#5.3 运行Calcium容器)
    • [5.4 检查Calcium容器状态](#5.4 检查Calcium容器状态)
    • [5.5 检查Calcium容器日志](#5.5 检查Calcium容器日志)
  • 六、访问Calcium首页
  • 七、总结

一、Calcium介绍

1.1 Calcium简介

  • Calcium简介

Calcium 是一款基于网络的应用程序,使用 React 和 TypeScript 构建而成。它主要功能是一款高级在线计算器,能够执行复杂的数学运算并具备一系列实用的功能。

1.2 Calcium功能

  • 基本计算:支持加减乘除等常规数学运算。
  • 西格玛、积分与乘积计算:能够处理求和、积分及乘积等高等数学问题。
  • 变量创建与存储:允许用户定义并保存变量,以便在计算过程中重复使用。
  • 函数图像绘制:能够绘制单变量函数的图像,帮助用户直观理解函数的变化趋势。
  • 基数转换:支持不同进制(如二进制、十进制、十六进制)之间的数值转换。
  • 单位换算:能够进行长度、重量、体积等多种物理量单位之间的换算。
  • 关系计算:可解决涉及数学关系表达式的复杂计算问题。

1.3 Calcium使用场景

  • 学生和教育机构可以在课堂上使用Calcium来进行数学计算和表达式求解。它可以帮助学生更好地理解数学问题,并提供实时反馈和结果展示。

  • 金融专业人员可以使用Calcium来进行复杂的金融计算,如贷款计算、投资回报率计算等。它可以帮助他们更快速、准确地做出决策。

  • 软件开发人员可以使用Calcium来进行代码计算,如表达式求值、单位转换、字符串操作等。它可以提供一个便捷的工具,帮助开发人员提高效率和准确性。

  • 普通用户可以使用Calcium来进行日常生活中的计算,如计算器、货币兑换、单位转换等。它可以方便用户进行各种计算,避免了手动计算和查找公式的麻烦。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署Calcium网页计算器。

三、本地环境检查

3.1 检查Docker服务状态

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

bash 复制代码
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-02-06 14:02:53 CST; 1 day 23h ago
     Docs: https://docs.docker.com
 Main PID: 11739 (dockerd)
    Tasks: 22
   Memory: 163.9M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

bash 复制代码
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

bash 复制代码
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载Calcium镜像

从docker hub拉取Calcium镜像

bash 复制代码
[root@jeven ~]# docker pull noahhrreion/calcium:main
main: Pulling from noahhrreion/calcium
7264a8db6415: Pull complete
eee371b9ce3f: Pull complete
93b3025fe103: Pull complete
d9059661ce70: Pull complete
42d0ff6ac329: Pull complete
4f4fb700ef54: Pull complete
f4428fea9d01: Pull complete
Digest: sha256:e3aca3d3893294defaf172b56229305b07326667cb0bd8d61d8fce6ca9d33881
Status: Downloaded newer image for noahhrreion/calcium:main
docker.io/noahhrreion/calcium:main

五、部署Calcium

5.1 使用docker-cli创建Calcium容器

使用docker-cli快速部署Calcium容器

bash 复制代码
docker run -d --name calcium --restart always -p 3000:3000 noahhrreion/calcium:main

5.2 编辑docker-compose.yaml文件

创建部署目录

bash 复制代码
 mkdir -p /data/calcium && cd /data/calcium/

本次实践使用docker compose方式运行Calcium容器,编辑docker-compose.yaml文件内容如下:

yaml 复制代码
version: '3.8'
services:
  calcium:
    container_name: calcium
    image: noahhrreion/calcium:main
    ports:
      - 6980:3000
    restart: always

5.3 运行Calcium容器

  • 使用docker-compose.yaml文件创建Calcium容器
bash 复制代码
[root@jeven calcium]# docker compose up -d
[+] Running 2/2
 ⠿ Network calcium_default  Created                                                                                                             0.1s
 ⠿ Container calcium        Started                                                                                                             0.8s

5.4 检查Calcium容器状态

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

bash 复制代码
[root@jeven calcium]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
calcium             "/bin/sh -c 'npm run..."   calcium             running             0.0.0.0:6980->3000/tcp, :::6980->3000/tcp

5.5 检查Calcium容器日志

检查Calcium容器运行日志,确保Calcium服务正常运行。

bash 复制代码
[root@jeven calcium]# docker compose logs
calcium  |
calcium  | > calcium@1.4.0 start
calcium  | > node scripts/start.js
calcium  |
calcium  | Starting the development server...
calcium  |
calcium  | Compiled successfully!
calcium  |
calcium  | You can now view calcium in the browser.
calcium  |
calcium  |   Local:            http://localhost:3000
calcium  |   On Your Network:  http://172.28.0.2:3000
calcium  |
calcium  | Note that the development build is not optimized.
calcium  | To create a production build, use npm run build.
calcium  |
calcium  | webpack compiled successfully
calcium  | No issues found.
calcium  | Compiling...
calcium  | Compiled successfully!
calcium  | webpack compiled successfully
calcium  | No issues found.

六、访问Calcium首页

访问地址:http://192.168.3.166:6980/,将IP替换为自己服务器IP地址,进入到Calcium首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

  • 二进制计算
  • 画出函数图像
  • 辈分计算

七、总结

Calcium工具的界面简洁明了,所有的计算按钮都一目了然,用户可以很方便地点击按钮进行计算。界面的布局也很合理,以及颜色搭配也很舒适,给人一种清爽的感觉。如果需要扩展本地个人工具库,可以将其添加,提高工作效率。