我正在尝试使用docker-compose.yml启动容器。我正在尝试启动两项服务,一项是 mongo ,另一项是 OHIF查看器。
目前,我可以在本地访问mongo(在桌面上进行localhost:27017(端口转发之后),而无法使用OHIF查看器(端口不可见/空,因此我无法在本地访问它们)。您能指导我如何设置它们吗?
从docker-compose文件中可以看到,我将network_mode:“ host”设置为也可以在我的桌面本地访问它们。
基于我的json文件,我以为端口已经设置(pacsIP:8042),但是当我执行“ docker ps”命令时,如上面的屏幕快照所示,端口丢失了。你能指导我吗?我是Docker的新手,您的意见肯定会有所帮助。 PACSIP是我的Docker主机(远程Linux服务器)IP。我想将其转发并在桌面上查看
请在 docker-compose.yml 文件
下找到version: '3.6'
services:
mongo:
image: "mongo:latest"
container_name: ohif-mongo
ports:
- "27017:27017"
viewer:
image: ohif/viewer:latest
container_name: ohif-viewer
ports:
- "3030:80"
- "8042:8042" - # Not sure whether this is correct. I tried with and without this as well but it didn't work
network_mode: "host"
environment:
- MONGO_URL=mongodb://mongo:27017/ohif
extra_hosts:
- "pacsIP:172.xx.xxx.xxx"
volumes:
- ./dockersupport-app.json:/app/app.json
如您所见,在卷中,我使用的是 dockersupport-app.json 文件,该文件如下所示
{
"apps" : [{
"name" : "ohif-viewer",
"script" : "main.js",
"watch" : true,
"merge_logs" : true,
"cwd" : "/app/bundle/",
"env": {
"METEOR_SETTINGS": {
"servers": {
"dicomWeb": [
{
"name": "Orthanc",
"wadoUriRoot": "http://pacsIP:8042/wado", # these ports
"qidoRoot": "http://pacsIP:8042/dicom-web", #these ports
"wadoRoot": "http://pacsIP:8042/dicom-web", #these ports
"qidoSupportsIncludeField": false,
"imageRendering": "wadouri",
"thumbnailRendering": "wadouri",
"requestOptions": {
"auth": "orthanc:orthanc",
"logRequests": true,
"logResponses": false,
如何在本地访问OHIF-Viewer?我应该对docker-compose.yml或json文件进行哪些更改?我在docker-compose文件的“端口”部分下启用和不使用端口8042,但仍然无法正常工作。
答案 0 :(得分:1)
您使用的是docker-compose run
还是docker-compose up
?
根据docker documentation:“ docker-compose run命令不会创建服务配置中指定的任何端口。”
尝试使用docker-compose up命令。
答案 1 :(得分:1)
如果使用network_mode: host
,它将绕过Docker的所有标准网络。在这种情况下,包括端口映射:由于容器直接使用主机的网络接口,因此没有任何映射本身。
network_mode: host
几乎从来没有必要,我在这里将其删除。这将使端口在docker ps
输出中再次可见,并使重新映射的端口3030可访问。因为这样,您可能可以直接在主机网络上通过端口80(该服务可能绑定到该端口)访问服务。