在VM上访问docker容器中的数据库
我在Windows7x64下的PC上工作 我安装了OracleVM,然后在那里安装了Ubuntu 18.04。在Ubuntu中,我安装了Docker,用PHP、Nginx和MariaDB创建并运行了一个环境,并在那里建立了一个Drupal8站点。所有这些都成功地工作了,我设法从Windows PC上的浏览器访问了该站点。我使用映射虚拟机上的端口设置进行了设置 但我不知道如何从windows客户端(例如,从HeidiSQL)访问该容器中的数据库。不幸的是,映射端口对我没有帮助 这是我的集装箱清单在VM上访问docker容器中的数据库,docker,mariadb,virtual-machine,windows-7-x64,docker-machine,Docker,Mariadb,Virtual Machine,Windows 7 X64,Docker Machine,我在Windows7x64下的PC上工作 我安装了OracleVM,然后在那里安装了Ubuntu 18.04。在Ubuntu中,我安装了Docker,用PHP、Nginx和MariaDB创建并运行了一个环境,并在那里建立了一个Drupal8站点。所有这些都成功地工作了,我设法从Windows PC上的浏览器访问了该站点。我使用映射虚拟机上的端口设置进行了设置 但我不知道如何从windows客户端(例如,从HeidiSQL)访问该容器中的数据库。不幸的是,映射端口对我没有帮助 这是我的集装箱清单
example3_project_adminer /entrypoint.sh php -S 0.0. ... Up 9000/tcp
example3_project_mailhog MailHog Up 1025/tcp, 8025/tcp
example3_project_mariadb /docker-entrypoint.sh mysqld Up 3306/tcp
example3_project_nginx /docker-entrypoint.sh sudo ... Up 80/tcp
example3_project_php /docker-entrypoint.sh sudo ... Up 9000/tcp
example3_project_portainer /portainer --no-auth -H un ... Up 9000/tcp
example3_project_traefik /traefik -c /dev/null --we ... Up 0.0.0.0:8000->80/tcp
你能告诉我怎么做吗 如果没有一个最小的可验证的问题示例,例如本例中的docker调用,就不可能自信地回答问题。但我猜您没有将MariaDB端口公开给docker主机操作系统(Ubuntu18.04) 查看
nginx
是如何工作的,因为这已经清楚地暴露出来了,并确保您的mariadb
容器也有类似的功能(可能是3306端口的mysql/mariadb端口)
一旦你可以从Ubuntu机器连接,你应该能够依次通过Oracle虚拟机映射端口。我成功地做到了。
首先,我在mariadb容器的配置中添加了端口转发
我执行了以下docker命令
docker-compose stop
docker-compose up -d
后来,我在VM端口转发规则中添加了一个新规则
现在我可以从windows客户端程序连接到数据库了I输出Docker容器列表。它们在这里是'example3_project\u mariadb/docker-entrypoint.sh mysqld Up 3306/tcp example3_project\u nginx/docker-entrypoint.sh sudo。。。Up 80/tcp`为什么不把它添加到你的问题中呢。谢谢你的评论,谢谢你。您如何执行这些docker容器?您是否在docker上面使用业务流程层?或者你可能直接调用docker?我是docker的新手,我是Drupal程序员,我已经安装了