我在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/