首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取服务-码头组合文件的端口号

如何获取服务-码头组合文件的端口号
EN

Stack Overflow用户
提问于 2019-06-10 07:23:15
回答 2查看 1.7K关注 0票数 0

我正试着用船坞-Compose.yml启动集装箱。我正在尝试启动两个服务,一个是mongo,另一个是OHIF查看器

目前,我能够在本地访问mongo (localhost:27017(端口转发后)),而OHIF查看器是不可能的(端口是不可见/空的,所以我无法在本地访问它们)。你能指导我如何设置它们吗?

正如您从我的坞-撰写文件中看到的,我已经将network_mode:"host“设置为能够在我的桌面上本地访问它们。

基于我的json文件,我认为端口已经设置好了(pacsIP:8042),但是当我执行"docker“命令时,它是缺少的,如上面的屏幕快照所示。你能指点我吗?我是新来的码头和您的投入肯定会有帮助。PACSIP是我的停靠主机(远程linux服务器) IP。我想转发它们并在我的桌面上查看它

请在docker-compose.yml文件下面找到

代码语言:javascript
复制
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文件,如下所示

代码语言:javascript
复制
{
   "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,

如何在本地访问?我应该对dockerCompose.yml或json文件做哪些更改?我做了与和没有端口8042下的“港口”部分的码头-撰写文件,但它仍然没有工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-10 11:00:25

如果您使用network_mode: host,它将绕过所有Docker的标准网络。在这种情况下,包含端口映射:由于容器直接使用主机的网络接口,因此没有什么可映射的。

network_mode: host几乎是不必要的,我会在这里删除它。这将使docker ps输出中的端口再次可见,并使重新映射的端口3030可访问。实际上,您可能可以通过端口80直接在主机网络上到达您的服务,该端口可能是该服务绑定到的端口。

票数 1
EN

Stack Overflow用户

发布于 2019-06-10 07:35:21

你用的是docker-compose run还是docker-compose up

根据码头文件:“docker命令不会创建服务配置中指定的任何端口。”

尝试使用停靠-合成命令。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56522164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档