$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2461f410228b ubuntu:16.04 "/bin/bash" 20 minutes ago Up 20 minutes competent_shockley
6da9d8196637 ubuntu:16.04 "/bin/bash" 21 minutes ago Up 21 minutes hungry_mccarthy
Docker提供的默认网络,要了解有关默认网络的更多信息,请参阅此处:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
f83800356529 bridge bridge local
8169b2246500 host host local
b61e4f39c0ec none null local
docker run --add-host=oracle:172.17.0.2 -p 9090:8080 -dit --name <name> <image>
在Jenkins post build批处理命令中,我捕获正在运行的数据库容器的IP,并在启动时将其传递给应用程序容器...
for /F %%x in ('docker inspect -f "{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}" oracle-xe') do set ip=%%x
docker run --add-host=oracle:%ip% -p 9090:8080 -dit --name demo demo
2条答案
按热度按时间uyhoqukh1#
让我们以运行基本映像Ubuntu:16.04的容器为例:
Docker提供的默认网络,要了解有关默认网络的更多信息,请参阅此处:
让我们使用
docker inspect
找出容器的IP地址:默认情况下,在BRIDGE网络中启动的container将能够访问在同一网络中启动的其他container。
当您希望使用名称/别名访问其他容器时,请在文件/etc/hosts中添加目标容器信息以解析DNS:
现在尝试使用以下主机名访问目标容器:
我相信这在某程度上会有所帮助。
w8f9ii692#
我在一个Docker容器中运行Sping Boot jar,并希望连接到在另一个容器中运行的Oracle数据库application.properties。
在我的Windows C:\Windows\System32\drivers\etc\hosts文件中,我将“oracle”解析为本地主机IP,这样我就可以从Eclipse作为Java应用程序运行...
通过docker inspect命令,我能够确定Oracle容器的IP地址为172.17.0.2。
当我运行我的 Boot 容器时,我使用--add-host开关将“oracle”解析为数据库容器的IP地址...
在Jenkins post build批处理命令中,我捕获正在运行的数据库容器的IP,并在启动时将其传递给应用程序容器...