在Windows 10上链接两个docker容器
我的mongo容器正在运行:在Windows 10上链接两个docker容器,windows,docker,Windows,Docker,我的mongo容器正在运行: docker run --security-opt=seccomp:unconfined -p 27017:27017 -p 28017:28017 --name mong --rm mong --link myapp 还有我的应用程序 docker run --rm -ti --security-opt=seccomp:unconfined -p8080:8080 --name myapp --link mong --expose 8080 当我运行docke
docker run --security-opt=seccomp:unconfined -p 27017:27017 -p 28017:28017 --name mong --rm mong --link myapp
还有我的应用程序
docker run --rm -ti --security-opt=seccomp:unconfined -p8080:8080 --name myapp --link mong --expose 8080
当我运行docker端口myapp时
8080/tcp->0.0.0.0:8080
和docker-port-mong
获取以下信息:
27017/tcp->0.0.0.0:27017
28017/tcp->0.0.0.0:28017
但是,myapp没有看到mong端口。当我运行docker run--rm-ti--security opt=seccomp:unconfined-p8080:8080--name myapp--link mong--expose 8080时,使用--net=host
标志myapp开始查看mong容器端口,但停止expose 8080
如何修复它?怎么了?如果要链接两个或多个容器,可以使用 首先创建一个网络:
$ docker network create --driver bridge dev_network
现在使用--net=dev_network运行这两个容器
容器1
$ docker run --security-opt=seccomp:unconfined -p 27017:27017 -p 28017:28017 --name mong --rm mong --net=dev_network
容器2
docker run --rm -ti --security-opt=seccomp:unconfined -p 8080:8080 --name myapp --net=dev_network
您现在可以使用容器名称访问网络中的容器。是否可以从主机访问8080上的myapp?myapp inside Docker正在等待与127.0.0.1上的mongo的连接是,-p(主机端口:containerport)标志定义您要从主机访问容器的端口。因此,如果您的应用程序在该端口上为网页提供服务器,您可以在应用程序源代码中使用定义mongo ip地址的代码,您应该使用容器名称而不是ip。由于您的应用程序位于容器内,因此它可以看到名称为的其他容器。