docker - 在VM上的Docker容器中访问数据库

标签 docker mariadb virtual-machine windows-7-x64 docker-machine

我在Windows 7 x64下的PC上工作。

我安装了OracleVM,然后在那里安装了Ubuntu 18.04。在Ubuntu中,我安装了Docker,并使用PHP,Nginx和MariaDB创建并运行了一个环境,并设法在那里建立了Drupal 8站点。一切都能成功进行,我设法通过Windows PC上的浏览器访问该站点。我通过映射VM设置上的端口进行设置。

但是我不知道如何从Windows客户端(例如HeidiSQL)访问该容器中的数据库。不幸的是,映射端口对我没有帮助。

这是我的容器 list

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主机操作系统(Ubuntu 18.04)。

查看nginx的工作方式,因为它已经很明显地暴露了出来,并确保mariadb容器具有相似的功能(可能在mysql / mariadb端口为3306端口)。

一旦可以从Ubuntu计算机连接,您就应该能够依次通过Oracle VM映射端口。

关于docker - 在VM上的Docker容器中访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53142945/

相关文章:

docker-credential-osxkeychain 想要使用您的 secret 信息

MySQL/MariaDB 在 1 分 42 秒后关闭

windows - Docker 启动与 archive.ubuntu 的连接

selenium - 使用主机 mac 发出的命令在并行虚拟机上运行批处理文件

mysql - 在 Docker 中引导 Percona Xtradb 集群出现错误 : Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

python-3.x - 在docker文件中使用特定的none-python基本图像设置特定的python版本

java - Docker 化 Play 应用程序 - 下载互联网

php - 使用 INSERT 语句时出现 HTTPS 500 错误

mysql - 从选择中查询 SQL 更新

click - 从主机外壳向 VirtualBox VM 发送鼠标或触摸事件?