当前位置: 首页 > 工具软件 > Orthanc > 使用案例 >

Docker启动Orthanc

汪学真
2023-12-01

简介

用于Orthanc核心及其官方插件的Docker映像可在DockerHub平台上免费获得。相应的Docker映像的源代码可在GitHub上获得

关于Orthanc与Osimis Docker映像的注意事项:

  • 此页面上描述的jodogne/orthancjodogne/orthanc-pluginsDocker映像始终与Orthanc项目的最新版本保持同步,并具有从Debian软件包继承的基本配置系统(即,配置文件的手动版本)。
  • 我们的商业合作伙伴Osimis发布了单独的Docker映像osimis/orthancOsimis的技术团队使用这些图像,以便通过可通过环境变量(如果使用则非常方便docker-compose)进行调整的配置系统为其客户提供专业支持。这些图像不一定总是与Orthanc项目同步,但是它们还包含由Osimis编辑插件,尤其是Osimis Web查看器(比Orthanc Web查看器先进得多)和高级授权插件。

给CentOS用户的注释:可能很难在平台上配置Docker环境。提示可在Orthanc用户讨论组中找到

运行Orthanc内核

以下命令将启动Orthanc的核心,并禁用所有插件:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc

Orthanc运行后,请使用URL http:// localhost:8042 /的 Mozilla Firefox 与Orthanc进行交互。默认用户名是orthanc,密码是orthanc

上面的命令将启动Orthanc的主线版本,其开发正在进行中。不要忘记定期更新Docker映像以利用最新功能:

$ sudo docker pull jodogne/orthanc

如果需要更高的稳定性,则可以选择运行Orthanc的正式版本:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.5.7

可以通过以下方式传递其他命令行选项(例如,使Orthanc变得冗长)(请注意/etc/orthancOrthanc查找其配置文件所需的选项):

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc /etc/orthanc --verbose

用法,启用了插件

以下命令将运行Orthanc内核的主线版本,以及其Web查看器, PostgreSQL支持DICOMweb实现全幻灯片成像查看器

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins

微调配置

出于安全原因,您至少应通过在RegisteredUsers 配置选项中更改此默认用户来保护Orthanc实例。您可能还需要微调其他参数,尤其是Orthanc知道的DICOM模式列表。

您可以为Orthanc生成自定义配置文件,如下所示:

$ sudo docker run --rm --entrypoint=cat jodogne/orthanc /etc/orthanc/orthanc.json > /tmp/orthanc.json

然后,编辑刚刚生成的文件,/tmp/orthanc.json并使用更新后的配置重新启动Orthanc:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc

使Orthanc数据库具有持久性

Docker容器的文件系统是易失性的(一旦容器停止,其内容将被删除)。您可以通过将/var/lib/orthanc/db容器的文件夹映射到Linux主机文件系统中的某个路径来使Orthanc数据库持久化,例如:

$ mkdir /tmp/orthanc-db
$ sudo docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.5.7

整个滑动成像支撑

orthanc-plugins图像包括对微观全幻灯片成像(WSI)的支持。例如,以下命令将与Orthanc一起透明地启动WSI查看器插件:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins

请注意,我们orthanc-wsi为这个新的Docker容器命名。然后,可以按以下方式调用Dicomizer命令行工具:

$ sudo docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif

此命令需要一些解释:

  • --link=orthanc-wsi:orthanc 将运行Dicomizer的容器链接到我们刚刚开始运行Orthanc的Docker容器。
  • --entrypoint=OrthancWSIDicomizer 指定必须运行Dicomizer而不是Orthanc服务器。
  • -v /tmp/Source.tif:/tmp/Source.tif:ro/tmp/Source.tif主机上的源映像作为只读文件映射 到Orthanc容器中/tmp/Source.tif
  • --orthanc=http://orthanc:8042/指示Dicomizer通过--link上面创建的图像推送图像。
  • --username=orthanc --password=orthanc对应于orthanc-plugins图像的默认凭据。

显然,您可以随意添加所需的所有选项(签出 --help标记以列出这些选项)。特别是,该 --dataset选项允许以JSON文件格式指定DICOM标签,以便将它们包括在生成的DICOM系列中(该选项会--sample-dataset打印具有预期格式的示例JSON文件)。

如果源图像不是分层TIFF,则必须通过添加以下选项来指示Dicomizer使用OpenSlide对其进行解码--openslide

$ sudo docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs

PostgreSQL和泊坞的Orthanc里面

可以在Docker中同时运行Orthanc和PostgreSQL。首先,启动正式的PostgreSQL容器:

$ sudo docker run --name some-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=pgpassword --rm postgres

打开另一个外壳,并创建一个数据库来托管Orthanc数据库:

$ sudo docker run -it --link some-postgres:postgres --rm postgres sh -c 'echo "CREATE DATABASE orthanc;" | exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres'

您将必须输入密码(请参见POSTGRES_PASSWORD设置为的上方的环境变量 pgpassword)。然后,获取PostgreSQL容器的IP和端口以及默认的Orthanc配置文件:

$ sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' some-postgres
$ sudo docker inspect --format '{{ .NetworkSettings.Ports }}' some-postgres
$ sudo docker run --rm --entrypoint=cat jodogne/orthanc-plugins /etc/orthanc/orthanc.json > /tmp/orthanc.json

将以下部分添加到/tmp/orthanc.json(使值Host和Port适应上面的Docker检查的内容):

"PostgreSQL" : {
  "EnableIndex" : true,
  "EnableStorage" : true,
  "Host" : "172.17.0.38",
  "Port" : 5432,
  "Database" : "orthanc",
  "Username" : "postgres",
  "Password" : "pgpassword"
}

最后,您可以启动Orthanc:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins

调试

出于调试目的,您可以按以下方式启动交互式bash会话:

$ sudo docker run -i -t --rm --entrypoint=bash jodogne/orthanc
$ sudo docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins

对于开发人员和高级用户,映像jodogne/orthanc-debug 包含以调试模式编译的Orthanc内核(即,启用了运行时断言,并包括调试符号)。一个gdb 命令行会话启动,如下所示:

$ sudo docker run -i -t --rm --entrypoint=bash --network=host --cap-add=SYS_PTRACE -p 4242:4242 -p 8042:8042 jodogne/orthanc-debug
# gdb --args Orthanc /etc/orthanc/ --verbose

可以通过以下方式自动捕获异常gdb

# gdb --ex 'catch t' --ex r --ex bt --args ./Orthanc /etc/orthanc/ --verbose

注意:

  • 该插件在该图像中尚不可用。
  • Orthanc源代码可以在文件夹中找到/root/orthanc
  • 可以在文件夹中找到构建工件/root/orthanc/Build
  • 此命令启动主线版本。要启动发行版本,请使用例如jodogne/orthanc-debug:1.5.7
  •  
 类似资料: