MAC |从VirtualBox机器上的另一个应用程序访问部署在Docker上的应用程序
机器-MAC bookProMAC |从VirtualBox机器上的另一个应用程序访问部署在Docker上的应用程序,docker,virtualbox,aem,Docker,Virtualbox,Aem,机器-MAC bookProMAC OSx 10.11.6 Docker-mac DockerDocker版本17.03.1-ce,构建c6d412e VirtualBox-版本5.1.22 r115126(Qt5.6.2) 我让我的AEM(CMS)运行在虚拟盒上的图像上,使用Vagrant+Chef进行配置。我们显式地将IP分配给框192.168.x.x 我们引入了一个微服务(SpringBoot+MySQL),我们希望使用Docker部署它。 在我的本地(MAC)上,我成功地启动并运行了Mi
MAC OSx 10.11.6
Docker-mac DockerDocker版本17.03.1-ce,构建c6d412e
VirtualBox-版本5.1.22 r115126(Qt5.6.2)
我让我的AEM(CMS)运行在虚拟盒上的图像上,使用Vagrant+Chef进行配置。我们显式地将IP分配给框192.168.x.x
我们引入了一个微服务(SpringBoot+MySQL),我们希望使用Docker部署它。
在我的本地(MAC)上,我成功地启动并运行了Microservice,两个docker实例(Microservice,MySQL)成功地相互连接。微服务公开了我需要从运行在虚拟机中的AEM调用的某些端点。这是我无法做到的,我的virtualbox实例无法连接到docker托管的应用程序(在我的virtualbox中无法访问docker机器的ip)
我使用docker compose使我的docker实例工作-
这是我的docker compose.yml
version: "3"
services:
db:
#build:
# context: ./registration-database
image: mysql
container_name: afs-mysql
#network_mode: "bridge"
# set default mysql root password, change as needed
environment:
MYSQL_DATABASE: afs_service
MYSQL_ROOT_PASSWORD: root
# Expose port 3306 to host. Not for the application but
# handy to inspect the database from the host machine.
ports:
- "3309:3306"
restart: always
webserver:
container_name: afs-microservice
#network_mode: "bridge"
depends_on:
- db
links:
- db
# build:
# context: ./registration-webserver
image: afs-service
# mount point for application in tomcat
#volumes:
# - ./app/target/UserSignup:/usr/local/tomcat/webapps/UserSignup
environment:
DATABASE_HOST: db
DATABASE_USER: root
DATABASE_PASSWORD: root
DATABASE_NAME: afs_service
DATABASE_PORT: 3306
# open ports for tomcat and remote debugging
ports:
- "8080:8080"
- "8089:8089"
restart: always
为了从virtualbox访问docker公开的应用程序,还需要做哪些工作。通过连接到mac的IP地址,您可以访问mac发布的任何docker端口 由于您提到要从virtualbox机器内部访问Mac,因此您有几个选项:
- (virtualbox主机模式网络)-只需在virtualbox纯主机网络上连接到mac的IP地址。通常这将匹配virtualbox VM的IP,但以
结尾。例如,如果连接到纯主机网络的virtualbox以太网接口的IP为192.168.30.100,则该纯主机网络上的mac IP几乎肯定为192.168.30.1。您应该能够在mac上的.1
输出中看到此ipifconfig
- (virtualbox NAT模式网络)-连接到virtualbox VM看到的网关ip地址。Virtualbox的主机模式网络将这些连接转发到mac的127.0.0.1
- 连接到mac的en0 ip地址。仍然可以从virtualbox VM内部访问此IP
- (virtualbox主机模式网络)-只需在virtualbox纯主机网络上连接到mac的IP地址。通常这将匹配virtualbox VM的IP,但以
结尾。例如,如果连接到纯主机网络的virtualbox以太网接口的IP为192.168.30.100,则该纯主机网络上的mac IP几乎肯定为192.168.30.1。您应该能够在mac上的.1
输出中看到此ipifconfig
- (virtualbox NAT模式网络)-连接到virtualbox VM看到的网关ip地址。Virtualbox的主机模式网络将这些连接转发到mac的127.0.0.1
- 连接到mac的en0 ip地址。仍然可以从virtualbox VM内部访问此IP