代码之家  ›  专栏  ›  技术社区  ›  MyTwoCents

连接到Docker内部运行的mongodb

  •  1
  • MyTwoCents  · 技术社区  · 8 年前

    我正在使用Windows 10

    我已安装Virtual Box

    我正在使用Docker Toolbox for Windows启动Docker

    我在安装在虚拟盒子里的Ubuntu里做我所有的开发工作

    这是我的终端日志

    $ docker-machine ls
    NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
    default   *        virtualbox   Running   tcp://192.168.99.100:2376           v17.06.0-ce
    
    
    $ docker-machine env
    export DOCKER_TLS_VERIFY="1"
    export DOCKER_HOST="tcp://192.168.99.100:2376"
    export DOCKER_CERT_PATH="C:\Users\test\.docker\machine\machines\default"
    export DOCKER_MACHINE_NAME="default"
    export COMPOSE_CONVERT_WINDOWS_PATHS="true"
    # Run this command to configure your shell:
    # eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
    
    
    $ docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    77427d4fc49b        mongo               "/bin/sh -c '/usr/..."   About an hour ago   Up 45 minutes                           mongo
    

    编辑1:

    来自Ubuntu的终端日志

    test@test-VirtualBox:~$ ip addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:e1:c8:be brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.27/24 brd 192.168.1.255 scope global dynamic enp0s3
           valid_lft 78034sec preferred_lft 78034sec
        inet6 fe80::2ae9:9e0c:d9a3:f044/64 scope link 
           valid_lft forever preferred_lft forever
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
        link/ether 02:42:3d:79:a8:7f brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 scope global docker0
           valid_lft forever preferred_lft forever
    
    1 回复  |  直到 8 年前
        1
  •  3
  •   Tarun Lalwani    8 年前

    您需要使用端口映射运行mongo容器

    docker run -p 27017:27017 mongodb
    

    然后您可以使用 192.168.99.100:27017 .

    编辑-1

    vboxnet1

    Network Settings

    并为您的Ubuntu虚拟机配置如下网络(确保docker虚拟机和Ubuntu虚拟机使用相同的网络)

    VM Settings