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" ]
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
นี้คือจุดเชื่อมต่อ
config จะอยู่ที่ file .env นี้
DATABASE_USER=root
DATABASE_PASSWORD=password
DATABASE=your_database
PORT=3306 // port **เป็น 3306 เพราะเป็น container คุยกันตอนแรกผมใส่ **3307
HOST=database_sql // ตรงนี้ใส่ PMA_HOST ตอนแรกผมไม่ได้ใส่แบบนี้
เพิ่มเติม
https://medium.com/@somprasongd/docker-networking-59b6637de3df
https://medium.com/readmoreth/docker-connect-database-timeout-b23f781dcff7
Top comments (0)