簡體   English   中英

無法從另一個docker容器連接到docker容器中的mysql

[英]Unable to connect to mysql in docker container from another docker container

我有兩個docker容器:mysql和spring boot服務。
服務容器未連接到mysql容器(部署失敗),但有以下異常: CommunicationsException: Communications link failure
到目前為止,我已經嘗試使用docker --link,docker networks,使用/不使用docker compose運行所有內容。 我能夠連接到docker之外的數據庫容器。

連接字符串: jdbc:mysql://db:3306/somedb

泊塢窗,compose.yml

version: '3.7'
services:
  app:
    build: .
    restart: unless-stopped
    ports:
    - "80:8060"
    links:
    - db
    depends_on:
    - db

  db:
    image: "mysql:latest"
    command: --default-authentication-plugin=mysql_native_password
    environment:
    - MYSQL_DATABASE=somedb
    - MYSQL_ROOT_PASSWORD=somepassword
    ports:
    - "3306:3306"
    volumes:
    - /Users/someuser/someproject/mysql/data:/var/lib/mysql

我之前遇到過同樣的問題,我試過改變mysql圖像版本。 這是我的compose yaml文件,我可以將其連接起來。

version: "3.0"

services:
  spring-boot-container:
    build: .
    ports:
      - "8086:8086"
    links: 
      - mysql-standalone

  mysql-standalone:
    image: mysql:5.6
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: springsecurity
      MYSQL_USER: sa
      MYSQL_PASSWORD: password

所以在我的服務dockerfile中我說:

ADD target/app-1.0-SNAPSHOT.jar /app-service.jar
RUN sh -c 'touch /app-service.jar'

但我忘了在服務配置文件中進行更改后重建jar
TL; DR我遲鈍了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM