我是docker容器化的新手,所以我为我的应用程序创建了一个自定义映像,现在我想将主机中的MySQL数据访问到docker中,我进行了所有应用程序配置,但是我遇到了通讯异常,这意味着docker是无法与MySQL通信。
使用了以下Dockerfile
FROM ubuntu
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "vim","curl","jq","apt-utils"]
ENV PATH $PATH:/opt/java/bin
ENV PATH $PATH:/opt/confluent/bin
ADD confluent-5.2.1 /opt/confluent
RUN mkdir java
ADD jdk1.8.0_221 /opt/java
CMD ["/bin/bash","-c","confluent start schema-registry && ./opt/confluent/bin/connect-standalone ./opt/confluent/etc/schema-registry/connect-avro-standalone.properties ./opt/confluent/etc/kafka-connect-jdbc/source-quickstart-sqlite.properties","-n"]
答案 0 :(得分:0)
我理解您这样的问题: 您的应用程序在docker容器中运行。 您的mysql服务器在主机系统上运行。 您希望您的应用程序连接到该mysql服务器,但不知道如何。
当您使用mac或win作为主机系统时,可以将docker.host.internal
用作mysql-server-address。
当您不使用它时,您需要手动查找IP。我通常会确定当前的容器地址,并将最后一个数字更改为.1,因为这始终对我有用。
在以下问题中,有更多方法可以执行此操作: https://github.com/docker/for-linux/issues/264
希望这会有所帮助