6

Dcm4chee--MySql版Docker镜像制作_Docker_鸟哥_InfoQ写作平台

 2 years ago
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.xmldcm4chee-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.0MAINTAINER bird/20220209ENV DCM4CHEE_ARC_VERSION 5.26.0ENV DCM4CHE_VERSION ${DCM4CHEE_ARC_VERSION}RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezoneRUN 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/modulesCOPY jboss-modules/ecs-object-client-jboss-modules-3.0.0/modules  $JBOSS_HOME/modulesCOPY jboss-modules/jai_imageio-jboss-modules-1.2-pre-dr-b04/modules  $JBOSS_HOME/modulesCOPY jboss-modules/jclouds-jboss-modules-2.4.0-noguava/modules  $JBOSS_HOME/modulesCOPY jboss-modules/jdbc-jboss-modules-mysql-8.0.25/modules  $JBOSS_HOME/modulesCOPY 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 lineENV 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-arcll#执行Dockerfiledocker 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是阿里云的RDSMYSQL_HOST=XXXXXXXXXX.mysql.xxx.rds.aliyuncs.comMYSQL_PORT=3306MYSQL_DB=pacsdbMYSQL_USER=【DB用户名】MYSQL_PASSWORD=【DB密码】ARCHIVE_HOST=gunter-dell.lan.j4care.comLDAP_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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK