

Dcm4chee--MySql版Docker镜像制作_Docker_鸟哥_InfoQ写作平台
source link: https://xie.infoq.cn/article/5cc2affcdebe791c410fd482a
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Dcm4chee 官方给的镜像是 pgsql,但在实际业务中需要使用 Mysql 数据库,这里就需要使用源码或直接下载 github 上提供的 mysql 版本二进制分发包,制作 docker 镜像。
mysql 版二进制分发包:
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.26.0/
dcm4che-dockerfiles:
https://github.com/dcm4che-dockerfiles/dcm4chee-arc-psql
2、准备文件
解压 dcm4che-dockerfiles/dcm4chee-arc-psql,并将二进制分发包中 deploy 文件夹 复制到 dcm4che-dockerfiles 中,将二进制分发包里 jboss-modules 中 zip 文件解压到 jboss-modules。
3.修改数据库配置
官方镜像里默认使用的是 postgresql,这里需要将数据库配置改成 mysql。
修改 dcm4che-dockerfiles/dcm4chee-arc-psql 中 configuration 里dcm4chee-arc.xml和dcm4chee-arc-logstash.xml文件,将 pgsql 驱动改为 mysql。
4.LDAP
version: "3"
services:
ldap:
image: dcm4che/slapd-dcm4chee:2.6.0-26.0
#端口映射
ports:
- "389:389"
- "636:636"
#卷挂载
volumes:
- /opt/openldap/ldap:/var/lib/openldap/openldap-data
- /opt/openldap/slapd.d:/etc/openldap/slapd.d
# 环境变量设置
environment:
LDAP_BASE_DN:dc=dcm4che,dc=org
LDAP_ROOTPASS:secret
ARCHIVE_DEVICE_NAME:dcm4chee-arc
AE_TITLE:DCM4CHEE
DICOM_PORT:11112
HL7_PORT:2575
STORAGE_DIR:/storage/fs1
进入容器: docker exec -it 【CONTAINER ID】sh
1、安装 Apache Directory Studio
2、输入 IP 和 Port
3、输入 user 和 password
5.MySQL
执行 dcm4chee-arc 二进制分发包中 sql 文件夹里 sql 脚本。
create-mysql.sql
create-fk-index.sql
6.dockerfile
修改dcm4che-dockerfiles/dcm4chee-arc-psql 中 Dockerfile 文件
FROM dcm4che/wildfly:ffmpeg-24.0.1-15.1.0
MAINTAINER bird/20220209
ENV DCM4CHEE_ARC_VERSION 5.26.0
ENV DCM4CHE_VERSION ${DCM4CHEE_ARC_VERSION}
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN cd $JBOSS_HOME \
&& chown -R wildfly:wildfly $JBOSS_HOME/modules \
&& chown wildfly:wildfly *
COPY jboss-modules/dcm4che-jboss-modules-5.26.0/modules $JBOSS_HOME/modules
COPY jboss-modules/ecs-object-client-jboss-modules-3.0.0/modules $JBOSS_HOME/modules
COPY jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04/modules $JBOSS_HOME/modules
COPY jboss-modules/jclouds-jboss-modules-2.4.0-noguava/modules $JBOSS_HOME/modules
COPY jboss-modules/jdbc-jboss-modules-mysql-8.0.25/modules $JBOSS_HOME/modules
COPY deploy /docker-entrypoint.d/deployments/
COPY setenv.sh /
COPY --chown=wildfly:wildfly configuration /docker-entrypoint.d/configuration
# Default configuration: can be overridden at the docker command line
ENV LDAP_URL=ldap://ldap:389 \
LDAP_BASE_DN=dc=dcm4che,dc=org \
KEYSTORE=/opt/wildfly/standalone/configuration/keystores/key.p12 \
KEYSTORE_TYPE=PKCS12 \
TRUSTSTORE=/opt/java/openjdk/lib/security/cacerts \
TRUSTSTORE_TYPE=JKS \
EXTRA_CACERTS=/opt/wildfly/standalone/configuration/keystores/cacerts.p12
7.build
#进入目录
cd /opt/dcm4chee-arc
ll
#执行Dockerfile
docker build -t 【镜像名】:【版本号】 .
8、push
docker login --username=jsa****@163.com registry.cn-zhangjiakou.aliyuncs.com
#重命名
docker tag [ImageId] registry.cn-zhangjiakou.aliyuncs.com/i-pixel/dcm4chee-arc:[镜像版本号]
#推镜像
docker pull registry.cn-zhangjiakou.aliyuncs.com/i-pixel/dcm4chee-arc:[镜像版本号]
9.run
STORAGE_DIR=/storage/fs1
#这里用的DB是阿里云的RDS
MYSQL_HOST=XXXXXXXXXX.mysql.xxx.rds.aliyuncs.com
MYSQL_PORT=3306
MYSQL_DB=pacsdb
MYSQL_USER=【DB用户名】
MYSQL_PASSWORD=【DB密码】
ARCHIVE_HOST=gunter-dell.lan.j4care.com
LDAP_URL=ldap://【IP】:【port】
WILDFLY_WAIT_FOR=【IP】:【port】 XXXXXXXXXX.mysql.xxx.rds.aliyuncs.com:【port】
version: "3"
services:
arc:
image: registry.cn-zhangjiakou.aliyuncs.com/i-pixel/dcm4chee-arc:5.26.0.1
ports:
- "8080:8080"
- "8443:8443"
- "9990:9990"
- "9993:9993"
- "8787:8787"
- "11112:11112"
- "2762:2762"
- "2575:2575"
- "12575:12575"
env_file: docker-compose.env
environment:
WILDFLY_ADMIN_USER: admin
WILDFLY_ADMIN_PASSWORD: admin
WILDFLY_CHOWN: /opt/wildfly/standalone /storage
JAVA_OPTS: -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -agentlib:jdwp=transport=dt_socket,address=*:8787,server=y,suspend=n
volumes:
- /opt/dcm4chee-arc/wildfly:/opt/wildfly/standalone
- /mnt/dicom:/storage
执行:docker-compose up -d
进入系统:http://【IP】:8080/dcm4chee-arc/ui2/#/
导入 LDAP 配置项:sample-config.ldif:https://gitee.com/jsaltar/dcm4chee-arc-docker-image/blob/master/config/sample-config.ldif
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK