DEV Community

Cover image for Sequelize(NestJs) connect Mysql docker ไม่ได้เพราะ ใช้ network port ผิด
Nantipat
Nantipat

Posted on • Edited on

1

Sequelize(NestJs) connect Mysql docker ไม่ได้เพราะ ใช้ network port ผิด

NestJs

FROM node:14-slim
WORKDIR /usr/src/app
COPY package*.json ./
# If you add a package-lock.json speed your build by switching to 'npm ci'.
RUN npm ci --only=production
RUN npm i -g @nestjs/cli
# Copy local code to the container image.
COPY . .
# Display directory structure
RUN ls -l
# Expose API port
EXPOSE 3003
# Run the web service on container startup.
CMD [ "npm", "start" ]
Enter fullscreen mode Exit fullscreen mode

Docker Compose

version: '3'
services:
  backend:
    container_name: nestjs
    build: .
    image: nestjs
    ports:
      - '3003:3003'
  database_sql:
    image: mysql:5.7
    container_name: database_sql
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
      - MYSQL_DATABASE=database_name
    ports:
      - '3307:3306'

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    ports:
      - '8000:80'
    links:
      - database_sql
    environment:
      PMA_HOST: database_sql

Enter fullscreen mode Exit fullscreen mode

นี้คือจุดเชื่อมต่อ

Screenshot_21

config จะอยู่ที่ file .env นี้

DATABASE_USER=root
DATABASE_PASSWORD=password
DATABASE=your_database
PORT=3306 // port **เป็น 3306 เพราะเป็น container คุยกันตอนแรกผมใส่ **3307
HOST=database_sql // ตรงนี้ใส่ PMA_HOST ตอนแรกผมไม่ได้ใส่แบบนี้
Enter fullscreen mode Exit fullscreen mode

เพิ่มเติม

https://medium.com/@somprasongd/docker-networking-59b6637de3df
https://medium.com/readmoreth/docker-connect-database-timeout-b23f781dcff7

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Heroku

This site is powered by Heroku

Heroku was created by developers, for developers. Get started today and find out why Heroku has been the platform of choice for brands like DEV for over a decade.

Sign Up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay