docker-compose:nodejs + mysqlはmysqlに接続できません

K.キング

自分のノードアプリケーションをドッキングしようとしましたが、mysqlコンテナに接続できません。私のコード:

docker-compose.yml

  version: '3.2'
  services:
    node:
      build: ./
      ports:
        - "8787:8787"
      depends_on:
        - db
      networks:
        - docker_xxx
      environment:
        - PORT=8787
        - DATABASE_HOST=db
        - DATABASE_PASSWORD=xxx
        - EGG_SERVER_ENV=local
        - NODE_ENV=development
      # command: ["./wait-for-it.sh", "db:3306", "--", "npm run docker"]
    db:
      build: ./db
      networks:
        - docker_xxx
      environment:
        - MYSQL_ROOT_PASSWORD=xxx
        - MYSQL_DATABASE=database
        - MYSQL_USER=user
        - MYSQL_PASSWORD=passwd

  networks:
    docker_xxx:
      driver: bridge

./Dockerfile(nodejs用)

  FROM node:8.9.4-alpine

  RUN mkdir -p /usr/src/app

  WORKDIR /usr/src/app

  COPY package.json /usr/src/app/

  RUN npm install --production

  COPY . /usr/src/app
  # COPY wait-for-it.sh /usr/src/app

  EXPOSE 8787

  CMD npm run docker

db / Dockerfile(mysql用)

  FROM mysql:5.6

  ADD honggang.sql /docker-entrypoint-initdb.d

config / config.default.js

 config.mysql = {
    // mysql settings
    client: {
      // host
      host: process.env.DATABASE_HOST || '127.0.0.1',
      // port
      port: '3306',
      // username
      user: 'root',
      // password
      password: 'xxx',
      database: 'xxx',
      charset: 'utf8',
      dialectOptions: {
        collate: 'utf8_general_ci',
      },
    },
    app: true,
    agent: false,
  };

私は走りますdocker-compose up -ddb走っているだけです。

docker logs hashエラーを見つけるために実行すると、次の情報が表示されます。

        2018-04-30 14:43:51,334 ERROR 54 nodejs.ECONNREFUSEDError: connect ECONNREFUSED 172.19.0.2:3306
            at Object._errnoException (util.js:1022:11)
            at _exceptionWithHostPort (util.js:1044:20)
            at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14)
            --------------------
            at Protocol._enqueue (/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:145:48)
            at Protocol.handshake (/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:52:23)
            at PoolConnection.connect (/usr/src/app/node_modules/mysql/lib/Connection.js:130:18)
            at Pool.getConnection (/usr/src/app/node_modules/mysql/lib/Pool.js:48:16)
            at /usr/src/app/node_modules/ali-rds/node_modules/pify/index.js:29:7
            at new Promise (<anonymous>)
            at Pool.<anonymous> (/usr/src/app/node_modules/ali-rds/node_modules/pify/index.js:12:10)
            at Pool.ret [as getConnection] (/usr/src/app/node_modules/ali-rds/node_modules/pify/index.js:56:34)
            at Pool.query (/usr/src/app/node_modules/mysql/lib/Pool.js:202:8)
            at /usr/src/app/node_modules/ali-rds/node_modules/pify/index.js:29:7
            sql: select now() as currentTime;
        code: 'ECONNREFUSED'
        errno: 'ECONNREFUSED'
        syscall: 'connect'
        address: '172.19.0.2'
        port: 3306
        fatal: true
        name: 'ECONNREFUSEDError'
        pid: 54
        hostname: d9cd95667a5d

追加しましたCMD ping db、応答しました。


使用しようとしましたがwait-for-it.sh(コードはコメントアウトされました)、エラー情報が表示されました:

env: can't execute 'bash': No such file or directory
K.キング

https://github.com/ycjcl868/eggjs-mysql-dockerを解決しました

ポイントがあります
。1.apk add --no-cache bash実行するためにwait-for-it.sh待機しているMySQLサーバーがokです
2.hostname0.0.0.0はありませんlocalhost/127.0.0.1

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

djangoはdocker-composeでmysqlに接続できません

分類Dev

Docker-ComposeはMySQLに接続できません

分類Dev

同じDockerでnodejsとmysqlを接続できません

分類Dev

docker-compose-MySQLデータベースに接続できません

分類Dev

NodeJSはDockerコンテナ内のMYSQL最新バージョンに接続できませんでした

分類Dev

docker-composeからdockerに接続できません

分類Dev

docker-composeはdockerデーモンに接続できませんか?

分類Dev

Adminerとdocker-composeを使用してMySQLデータベースに接続できません

分類Dev

docker-composeの「ローカルMySQLサーバーに接続できません」

分類Dev

docker-composeのcodeception-Webdriverに接続できません

分類Dev

docker-composeは外部ネットワークに接続できません

分類Dev

docker-composeはasp.netコアサイトに接続できません

分類Dev

フラスコはpostgresqlをdocker-composeに接続できません

分類Dev

Dockerはmysqlに接続できません

分類Dev

docker-composeを使用すると、同じネットワークでmysqlとspringbootを接続できません

分類Dev

docker-composeを使用するRailsアプリはmysqlコンテナに接続しません

分類Dev

Docker-compose:アプリコンテナがPostgresに接続できません

分類Dev

docker-composeを使用してkibana / elasticsearchに接続できません

分類Dev

2002、dockerの「ソケット '/run/mysqld/mysqld.sock'(2)を介してローカルMySQLサーバーに接続できません」-compose up

分類Dev

docker-composeアプリコンテナーはmongoコンテナーに接続できません

分類Dev

Node.jsでMySQL Dockerに接続できません

分類Dev

Dockerでmysqlに接続できません

分類Dev

bashからdockerのmysqlに接続できません

分類Dev

mysqlをlaravel(docker)に接続できません

分類Dev

Dockerを使用してMysqlに接続できません

分類Dev

MySQL の Docker コンテナに接続できません

分類Dev

Docker、WordPressをmysqlに接続できません

分類Dev

DockerはアプリケーションをMySQLに接続できません

分類Dev

Docker-作成:NodeJSをMongo&Redisに接続できません[接続が拒否されました]

Related 関連記事

  1. 1

    djangoはdocker-composeでmysqlに接続できません

  2. 2

    Docker-ComposeはMySQLに接続できません

  3. 3

    同じDockerでnodejsとmysqlを接続できません

  4. 4

    docker-compose-MySQLデータベースに接続できません

  5. 5

    NodeJSはDockerコンテナ内のMYSQL最新バージョンに接続できませんでした

  6. 6

    docker-composeからdockerに接続できません

  7. 7

    docker-composeはdockerデーモンに接続できませんか?

  8. 8

    Adminerとdocker-composeを使用してMySQLデータベースに接続できません

  9. 9

    docker-composeの「ローカルMySQLサーバーに接続できません」

  10. 10

    docker-composeのcodeception-Webdriverに接続できません

  11. 11

    docker-composeは外部ネットワークに接続できません

  12. 12

    docker-composeはasp.netコアサイトに接続できません

  13. 13

    フラスコはpostgresqlをdocker-composeに接続できません

  14. 14

    Dockerはmysqlに接続できません

  15. 15

    docker-composeを使用すると、同じネットワークでmysqlとspringbootを接続できません

  16. 16

    docker-composeを使用するRailsアプリはmysqlコンテナに接続しません

  17. 17

    Docker-compose:アプリコンテナがPostgresに接続できません

  18. 18

    docker-composeを使用してkibana / elasticsearchに接続できません

  19. 19

    2002、dockerの「ソケット '/run/mysqld/mysqld.sock'(2)を介してローカルMySQLサーバーに接続できません」-compose up

  20. 20

    docker-composeアプリコンテナーはmongoコンテナーに接続できません

  21. 21

    Node.jsでMySQL Dockerに接続できません

  22. 22

    Dockerでmysqlに接続できません

  23. 23

    bashからdockerのmysqlに接続できません

  24. 24

    mysqlをlaravel(docker)に接続できません

  25. 25

    Dockerを使用してMysqlに接続できません

  26. 26

    MySQL の Docker コンテナに接続できません

  27. 27

    Docker、WordPressをmysqlに接続できません

  28. 28

    DockerはアプリケーションをMySQLに接続できません

  29. 29

    Docker-作成:NodeJSをMongo&Redisに接続できません[接続が拒否されました]

ホットタグ

アーカイブ