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

基于dcm4chee搭建的PACS系统讲解(一)docker搭建精简版

文章目录

  • 知识点
    • PACS
    • dcm4che
    • dcm4chee
    • 部署dcm4chee方式
  • docker部署
    • docker编排
  • 总结

最近项目开始需要用到PACS系统,于是研究了一番,选用了dcm4chee搭建PACS系统,抛出 dcm-arc-light的git地址 。

知识点

PACS

Picture Archiving and Communication System (PACS) 医疗影像储传系统
简单点说就是将诸如CT、超声、X光等设备产生的影像存储及传输

详细的可以阅读百度百科的PACS系统介绍

dcm4che

Explore dcm4che. Dive into the world of medical imaging with dcm4che, the open-source collection of applications and utilities for healthcare IT. Efficient, scalable, and interoperable - dcm4che is your gateway to managing DICOM images and data with ease. Discover the power of open-source in healthcare today!

dcm4che是专为医疗IT设计的开源应用程序和工具集。 演变进程如下:
在这里插入图片描述

dcm4chee

dcm4chee 是一个高级的、开源的图片存储和通信系统 (PACS) 以及供应商中立档案(VNA),专门用于医学影像数据的存储、检索和管理。

目前开源PACS系统基本上都会使用这套方案。

部署dcm4chee方式

Get Started Tutorials
根据官方快速入门手册,dcm4chee部署方式如下:

部署方式说明文档链接
手动https://github.com/dcm4che/dcm4chee-arc-light/wiki/Installation
dockerhttps://github.com/dcm4che/dcm4chee-arc-light/wiki/Running-on-Docker
Deploy + Kuberneteshttps://github.com/dcm4che/dcm4chee-arc-light/wiki/Deploy-Docker-Images-to-Kubernetes

本文选用纯docker方式部署。

docker部署

官方推荐了几款单机搭建组合,如下表格所示:

PACS类型服务列表
最精简(单机)arc + db + ldap
最精简 + 认证权鉴(单机)arc + db + ldap + keycloak + mariadb
最精简 + 认证权鉴 + 审计日志 + 日志看板(单机)arc + db + ldap + keycloak + mariadb + oauth2Proxy + logstash + kibana + elasticsearch

本文选取了最精简版本,框架图如下:
官网上抠下来的
其中包含三个镜像:

  • LDAP服务(应用和服务间共享身份和权限,单点登录SSO),dcm4che/slapd-dcm4chee:2.6.6-32.0
  • DB(docker方式只能用postgreSQL?) dcm4che/postgres-dcm4chee:16.2-32
  • arc服务(服务端和web端) dcm4che/dcm4chee-arc-psql:5.32.0

docker编排

  1. docker-compose.env文件如下:
STORAGE_DIR=/storage/fs1
POSTGRES_DB=pacsdb
POSTGRES_USER=pacs
POSTGRES_PASSWORD=pacs
  1. docker-compose.yml(与docker-compose.env在同一目录下)文件如下:
version: "3"
services:ldap:image: dcm4che/slapd-dcm4chee:2.4.48-21.0logging:driver: json-fileoptions:max-size: "10m"ports:- "389:389"env_file: docker-compose.envvolumes:- /local/lizzy/dcm4chee-arc/ldap:/var/lib/openldap/openldap-data- /local/lizzy/dcm4chee-arc/slapd.d:/etc/openldap/slapd.ddb:image: dcm4che/postgres-dcm4chee:12.1-21logging:driver: json-fileoptions:max-size: "10m"ports:- "5432:5432"env_file: docker-compose.envvolumes:- /etc/localtime:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro- /local/lizzy/dcm4chee-arc/db:/var/lib/postgresql/dataarc:image: dcm4che/dcm4chee-arc-psql:5.21.0logging:driver: json-fileoptions:max-size: "10m"ports:- "8080:8080"- "8443:8443"- "9990:9990"- "9993:9993"- "11112:11112"- "2762:2762"- "2575:2575"- "12575:12575"env_file: docker-compose.envenvironment:WILDFLY_CHOWN: /opt/wildfly/standalone/storageWILDFLY_WAIT_FOR: ldap:389 db:5432JAVA_OPTS: -XX:PermSize=256M -XX:MaxPermSize=256m -Xms1024m -Xmx2048m -Djava.net.preferIPv4Stack=truedepends_on:- ldap- dbvolumes:- /etc/localtime:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro- /local/lizzy/dcm4chee-arc/wildfly:/opt/wildfly/standalone- /local/lizzy/dcm4chee-arc/storage:/storage

在同层级中执行命令docker-compose -p dcm4chee up -d即可

总结

此篇是dcm4chee入门篇吧,有错误的地方欢迎指正,后续会随着工作的深入继续更新~~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C#与C++交互开发系列(三):深入探讨P/Invoke基础知识
  • 大模型额外篇章三:vercel搭建openai中转服务器
  • sql注入前期准备(相关函数和原理)
  • 使用sqlalchemy查询mysql的JSON字段
  • 【体外诊断】ARM/X86+FPGA嵌入式计算机在免疫分析设备中的应用
  • 探索Perl的图形用户界面开发:工具、技巧与实践
  • 最新全新UI异次元荔枝V4.4自动发卡系统源码
  • Python 实现PDF和TIFF图像之间的相互转换
  • SpringBoot整合Elastic-Job 2.1.53版本任务调度,手动任务,动态添加任务演示
  • py3.7.4离线安装openpyxl等错误,无法安装openpyxl...
  • yolo5图片视频、摄像头推理demo
  • Unity UGUI 之 ScrollBar与ScrollView
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号2
  • 生成式人工智能之路,从马尔可夫链到生成对抗网络
  • 探索LLM世界:新手小白的学习路线图
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Java Agent 学习笔记
  • Java超时控制的实现
  • Java教程_软件开发基础
  • magento 货币换算
  • MYSQL 的 IF 函数
  • MySQL数据库运维之数据恢复
  • vue自定义指令实现v-tap插件
  • 编写高质量JavaScript代码之并发
  • 创建一种深思熟虑的文化
  • 代理模式
  • 聊聊sentinel的DegradeSlot
  • 前嗅ForeSpider中数据浏览界面介绍
  • 学习Vue.js的五个小例子
  • kubernetes资源对象--ingress
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # .NET Framework中使用命名管道进行进程间通信
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $.ajax()方法详解
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (办公)springboot配置aop处理请求.
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)jQuery 基础
  • (转)负载均衡,回话保持,cookie
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • ***监测系统的构建(chkrootkit )
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net core使用ef 6
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET 中的轻量级线程安全
  • .netcore 获取appsettings
  • .NET中分布式服务
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [ JavaScript ] JSON方法
  • [000-01-018].第3节:Linux环境下ElasticSearch环境搭建
  • [145] 二叉树的后序遍历 js