如何使用Docker远程API连接到现有的Docker网络(通过dockerode)

西里尔·阿尔法罗(Cyril ALFARO)

docker-compose用来创建一个相互关联的容器的“公园”。这里没什么特别的,我有API /前端/后端等。这是我的docker-compose.yml

version: "2"

services:
    api:
        build: ./deimos_api/docker
        ports:
            - "39999:80"
        volumes:
            - ./deimos_api:/root/deimos_api
    asset:
        build: ./deimos_asset/docker
        ports:
            - "8000:80"
        volumes:
            - ./deimos_asset:/root/deimos_asset
        depends_on:
            - api
        links:
            - api
    data-manager:
        build: ./deimos_data_manager/docker
        ports:
            - "3333:3333"
        volumes:
            - ./deimos_data_manager:/root/deimos_data_manager
        depends_on:
            - api
        links:
            - api
    backend:
        build: ./deimos_backend/docker
        ports:
            - "1080:80"
        volumes:
            - ./deimos_backend:/root/deimos_backend
            - /var/run/docker.sock:/var/run/docker.sock
        depends_on:
            - api
            - asset
        links:
            - api

我刚刚了解到如何在新网络上创建一个类似于此链接容器的“公园”。docker network ls结果 :

NETWORK ID          NAME                DRIVER
448daa341d56        bridge              bridge              
c7feeeb44cd0        deimos_default      bridge              
1fc2d6132b86        none                null                
a80e41eab3cc        host                host   

该项目的另一部分将在运行容器中生成。但是我希望新的容器访问deimos_api以前由创建容器docker-compose

dockerode在javascript中使用以下代码使用(Docker Remote API的包装):

docker.createContainer({
    "Image": config.dockerGameServerImageName,
    "name": config.gameServerPrefix + serverName,
    "Volumes": {"/root/deimos_server":{}}
}, function (err, container) {
    if(err){
        console.log(err);
        reject(err);
    } else {
        container.start({
            "PortBindings": { "80/tcp": [{"HostPort": lastPortUsed+""}]},
            "Binds":[config.deimosServerVolumePath+":/root/deimos_server"],
            "Links":[config.dockerApiContainerName+":api"]
        }, function (err, data) {if(err) {
                console.log(err);
                reject(err);
            } else {
                console.log("Create container " + serverName);
                gameContainer[config.gameServerPrefix + serverName] = lastPortUsed+"";
                resolv({
                    'serverPort':lastPortUsed,
                    'serverName':serverName
                });
            }
        });
    }
});

但是我有以下错误:

Error: HTTP code is 500 which indicates error: server error - Could not get container for deimos_api_1

任何想法如何在dockerode中指定如何加入特定网络(此处为deimos_default)?

谢谢你。

编辑:我正在使用docker 1.10.3,docker-compose 1.6.2和dockerode 2.2.10

西里尔·阿尔法罗(Cyril ALFARO)

我找到了 !

将以下选项添加到dockerode启动过程中的技巧!

"HostConfig": {
    "NetworkMode": "deimos_default"
}

在此处找到文档中的行:https : //docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#create-a-container

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何连接到现有的超级账本网络

来自分类Dev

如何将Docker MySQL映像连接到现有的Rails应用程序?

来自分类Dev

如何使用虚拟专用网络连接到远程Docker实例

来自分类Dev

Docker:将新的postgres容器重新连接到现有的Data容器

来自分类Dev

如何在Dockerfile中使用现有的Docker Volume

来自分类Dev

如何连接到现有的套接字io连接

来自分类Dev

如何连接到现有的Jupyter Notebook内核并使用变量浏览器检查变量?

来自分类Dev

如何使用Scala Eclipse IDE连接到现有的Hive

来自分类Dev

如何将Docker映像连接到Docker组成的网络

来自分类Dev

通过Node.js连接到远程Docker

来自分类Dev

如何通过Azure Cognitive Services为现有的Docker容器创建IoT Edge模块?

来自分类Dev

使用Ansible停止所有现有的Docker容器

来自分类Dev

如何使用dockerode或docker api在多主机群上模拟``docker service ps''?

来自分类Dev

如何使用PowerShell更新现有的AzureRm虚拟网络?

来自分类Dev

如何远程连接到运行 Apache Drill 的 docker 容器

来自分类Dev

VSCode:无法使用远程开发扩展连接到 Docker 容器

来自分类Dev

如何扩展现有的Docker映像?

来自分类Dev

如何从现有的 Flask 项目构建 docker 镜像?

来自分类Dev

使用Docker运行现有的Wordpress网站

来自分类Dev

如何将现有的Android Studio项目连接到现有的Github存储库

来自分类Dev

如何在AWS Elastic Container Service中使用现有的docker-compose.yml文件?

来自分类Dev

如何使用现有的 jenkins 服务器配置 Docker?

来自分类Dev

通过SSH连接到没有运行SSH服务器的计算机,或者如何重用现有的ssh连接反向

来自分类Dev

如何通过 API 解决现有的 PayPal 争议

来自分类Dev

如何使用Docker Compose连接到Elasticsearch

来自分类Dev

如何使用域名连接到Docker容器

来自分类Dev

Podman是否可以通过设置$ DOCKER_HOST连接到远程Docker主机?

来自分类Dev

通过NetSH连接到没有现有配置文件的无线网络

来自分类Dev

Docker 容器无法连接到远程 SQL

Related 相关文章

  1. 1

    如何连接到现有的超级账本网络

  2. 2

    如何将Docker MySQL映像连接到现有的Rails应用程序?

  3. 3

    如何使用虚拟专用网络连接到远程Docker实例

  4. 4

    Docker:将新的postgres容器重新连接到现有的Data容器

  5. 5

    如何在Dockerfile中使用现有的Docker Volume

  6. 6

    如何连接到现有的套接字io连接

  7. 7

    如何连接到现有的Jupyter Notebook内核并使用变量浏览器检查变量?

  8. 8

    如何使用Scala Eclipse IDE连接到现有的Hive

  9. 9

    如何将Docker映像连接到Docker组成的网络

  10. 10

    通过Node.js连接到远程Docker

  11. 11

    如何通过Azure Cognitive Services为现有的Docker容器创建IoT Edge模块?

  12. 12

    使用Ansible停止所有现有的Docker容器

  13. 13

    如何使用dockerode或docker api在多主机群上模拟``docker service ps''?

  14. 14

    如何使用PowerShell更新现有的AzureRm虚拟网络?

  15. 15

    如何远程连接到运行 Apache Drill 的 docker 容器

  16. 16

    VSCode:无法使用远程开发扩展连接到 Docker 容器

  17. 17

    如何扩展现有的Docker映像?

  18. 18

    如何从现有的 Flask 项目构建 docker 镜像?

  19. 19

    使用Docker运行现有的Wordpress网站

  20. 20

    如何将现有的Android Studio项目连接到现有的Github存储库

  21. 21

    如何在AWS Elastic Container Service中使用现有的docker-compose.yml文件?

  22. 22

    如何使用现有的 jenkins 服务器配置 Docker?

  23. 23

    通过SSH连接到没有运行SSH服务器的计算机,或者如何重用现有的ssh连接反向

  24. 24

    如何通过 API 解决现有的 PayPal 争议

  25. 25

    如何使用Docker Compose连接到Elasticsearch

  26. 26

    如何使用域名连接到Docker容器

  27. 27

    Podman是否可以通过设置$ DOCKER_HOST连接到远程Docker主机?

  28. 28

    通过NetSH连接到没有现有配置文件的无线网络

  29. 29

    Docker 容器无法连接到远程 SQL

热门标签

归档