简介
用于Orthanc核心及其官方插件的Docker映像可在DockerHub平台上免费获得。相应的Docker映像的源代码可在GitHub上获得。
关于Orthanc与Osimis Docker映像的注意事项:
- 此页面上描述的
jodogne/orthanc
和jodogne/orthanc-plugins
Docker映像始终与Orthanc项目的最新版本保持同步,并具有从Debian软件包继承的基本配置系统(即,配置文件的手动版本)。 - 我们的商业合作伙伴Osimis还发布了单独的Docker映像。
osimis/orthanc
Osimis的技术团队使用这些图像,以便通过可通过环境变量(如果使用则非常方便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/orthanc
Orthanc查找其配置文件所需的选项):
$ 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
。