计算机 - MAC bookPro Mac OSx 10.11.6
Docker - 适用于mac Docker version 17.03.1-ce, build c6d412e
的Docker
VirtualBox - Version 5.1.22 r115126 (Qt5.6.2)
我的AEM(CMS)在Virtual Box上的图像上运行,使用Vagrant + Chef进行配置。我们明确地将IP分配给框 - 192.168.x.x
我们已经推出了一个微服务(Spring boot + MySQL),我们希望使用Docker进行部署。 在我的本地(MAC)上,我成功启动并运行了微服务,并成功连接了两个docker实例(Microservice,MySQL)。微服务暴露了我需要从虚拟框中运行的AEM调用的某些端点。这是我无法做到的,我的虚拟机实例无法连接到docker托管应用程序(我的虚拟机中无法访问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公开的应用程序。
答案 0 :(得分:0)
您可以通过连接到Mac的IP地址来访问任何docker-for-mac发布的端口。
由于您提到要从虚拟机内部访问Mac,因此您有以下几种选择:
.1
结尾。例如,如果连接到仅主机网络的虚拟机的以太网接口具有IP 192.168.30.100,则该主机网络上的mac的IP几乎肯定是192.168.30.1。您应该能够在Mac上ifconfig
的输出中看到此IP。