简体   繁体   English

连接到在Docker中运行的mongodb

[英]Connect to mongodb running inside Docker

I am using Windows 10 我正在使用Windows 10

I have installed Virtual Box 我已经安装了Virtual Box

In virtual Box I have installed Ubuntu with network setting as Bridge Network 在虚拟盒子中,我已经安装了Ubuntu,其网络设置为Bridge Network

I am using Docker Toolbox for Windows to Start Docker 我正在使用Windows的Docker Toolbox启动Docker

In Docker I have Mongodb container running at default port 在Docker中,我在默认端口上运行了Mongodb容器

I am doing all my development stuff inside Ubuntu installed in Virtual Box 我正在在Virtual Box中安装的Ubuntu中进行所有开发工作

Here is my Terminal Log 这是我的终端日志

$ 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

Issue is I dont know how to Connect to this container running MongoDB globally say from Ubuntu running on Virtual Box 问题是我不知道如何从在Virtual Box上运行的Ubuntu全局连接到此运行MongoDB的容器

Edit 1: 编辑1:

Terminal Log from Ubuntu 来自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

You need to run your mongo container with port mappings 您需要使用端口映射运行mongo容器

docker run -p 27017:27017 mongodb

And then you can access using 192.168.99.100:27017 . 然后您可以使用192.168.99.100:27017进行访问。

Edit-1 编辑-1

If you are connect it from another VM then make sure to add an adapter with common Host-only network lan. 如果您是从另一个VM连接的,请确保添加带有公用的仅主机网络局域网的适配器。 In most cases this would vboxnet1 在大多数情况下,这将是vboxnet1

网络设置

And configure the network as below for your Ubuntu VM (make sure both docker VM and Ubuntu VM use the same) 并为您的Ubuntu VM配置以下网络(确保docker VM和Ubuntu VM使用相同的网络)

虚拟机设置

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM