【Docker项目实战】使用Docker部署Calcium网页计算器

简介: 【10月更文挑战第7天】使用Docker部署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 2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Calcium网页计算器。

三、本地环境检查

3.1 检查Docker服务状态

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

[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版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载Calcium镜像

从docker hub拉取Calcium镜像

[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容器

docker run -d --name calcium --restart always -p 3000:3000 noahhrreion/calcium:main

5.2 编辑docker-compose.yaml文件

创建部署目录

 mkdir -p /data/calcium && cd /data/calcium/

本次实践使用docker compose方式运行Calcium容器,编辑docker-compose.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容器
    [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容器正常启动。

[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服务正常运行。

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

相关文章
|
2月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1143 4
|
2月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
389 124
|
2月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
157 5
|
3月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
285 12
docker 部署 sftp
|
3月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1257 6
|
2月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
819 8
|
2月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
2043 8
|
2月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
533 5
|
3月前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
207 13