通过docker- compose.yml
我能够运行该应用程序。现在,我们想将应用程序移至生产环境,但是我们不想使用容器数据库。那么有什么办法可以使我的本地MySQL数据库与使用的应用程序连接docker- compose
吗?
我的docker-compose.yml看起来像:
version: '3'
services:
web-app:
build:
context: .
dockerfile: web-app/Dockerfile
ports:
- 8080:8080
links:
- app-db
app-db:
build:
context: .
dockerfile: app-db/Dockerfile
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=Optimize
ports:
- 3306:3306
app-db
我只想连接到本地托管的mysql
数据库,而不是一部分。
在docker网络中找到主机IP。如果您使用docker-compose.yml version: "3"
,则该IP可能是:172.18.0.1
,
但请确认它 搜索您的容器(您的主机)的“网关”:
docker inspect <container-id-or-name> | grep Gateway
"Gateway": "",
"IPv6Gateway": "",
"Gateway": "172.18.0.1",
"IPv6Gateway": "",
因此,在您的docker应用程序内部,MySQL的指向如下172.18.0.1:3306
:(也许在配置文件中)。请注意,只要docker网络仍然相同,该IP就是固定的(该网络是由docker-
compose创建的,除非您这样做,否则不会将其删除docker-compose down
)
另外,检查您的MySQL是否正在监听其所有接口。在my.cnf
搜索bind- address
中应该是0.0.0.0
(如果服务器具有公共IP,请考虑安全性问题)。
或者,您可以将与主机相同的网络连接到容器,以共享本地主机,因此容器将在其中找到mysql。使用网络模式作为“主机”:
version: '3'
services:
web-app:
build:
context: .
dockerfile: web-app/Dockerfile
ports:
- 8080:8080
network_mode: "host"
然后,将您hibernate.properties
的mysql 指向如下:localhost:3306
我正在处理dockerize我的本地服务器,在那里有数据库,应用程序服务器和所有额外的配置来部署我的应用程序。目前,我已经创建了3个docker容器,运行像Tomcat或WildFly这样的应用程序服务器,并公开了部署的应用程序的端口,这些端口Java并从/读写数据。到我本地的数据库。在每个应用程序的文件中,我已经通过在我的实际配置中配置了访问权限,没有docker也可以。 我想将容器上的应用程序
我试图在我本地的电脑上使用kafka(Windows10)作为生产者,在docker容器(ubuntu)上使用spark流作为消费者。我的示例在容器中一起工作,但我需要在本地计算机上创建流。 在容器的另一边,我正在监听端口2181来接收流。 我希望你能帮助我。谢了。
我尝试在docker本地添加一个mysql数据库。但是我收到了这个错误:由以下原因引起:java.sql.SQLSyntaxErrorException:拒绝访问;当我尝试执行以下代码行时,您需要(至少一个)此操作的创建用户权限:statement.execute(“创建数据库名称”); 有人知道简单的方法吗?
问题内容: 我最近一直在研究Docker和QGIS,并按照本教程中的说明安装了一个容器。 尽管我无法连接到包含我的所有GIS数据的localhost postgres数据库,但一切工作都很好。我认为这是因为我的postgres数据库未配置为接受远程连接,并且已经按照本文中的说明编辑了postgres conf文件以允许远程连接。 尝试连接到在Docker中运行QGIS的数据库时,我仍然收到错误消息
我最近一直在玩Docker和QGIS,并按照本教程中的说明安装了一个容器。 我运行的是Ubuntu 14.04;Postgres 9.3
问题内容: 我正在运行一个docker mysql映像,以下是docker-compose.yml文件的外观: 这很好。 我的问题是:如何从主机(我的Macbook)上的命令行mysql客户端连接到在该容器上运行的MySQL实例? 澄清: 我有一台装有Docker的Macbook 我有一个带有mysql的docker容器 我想从Macbook的终端连接到上述容器上运行的mysql实例 我不想使用命