DockerDocker ComposeDocker Compose
docker compose exec db sh를 실행하려니 작동이 안 됩니다. 어떻게 작동시키나요?
조회 114
좋아요 0
2025년 1월 29일
비읍아비읍오
0
댓글 7개
댓글 7개
# FROM 베이스 이미지
#ARG NODE_VERSION
#FROM node:${NODE_VERSION}
FROM node:20.15.1
# 소스코드를 다운로드한다.
# COPY [source 상대경로] [target 절대경로]
COPY . /apps/mbti
# 소스코드의 최상위 디렉토리로 이동한다.
WORKDIR /apps/mbti
# 소스코드를 실행할 때 필요한 파일을 다운로드한다.(npm ci)
# 소스코드를 빌드한다.(npm run build)
RUN npm ci && npm run build
# 환경변수를 정의한다. (PORT)
ENV PORT="3000" \
DB_HOST="localhost" \
DB_PORT="3306" \
DB_NAME="db_mbti" \
DB_USERNAME="user_mbti" \
DB_PASSWORD="pw_mbti"
# 서버를 실행한다.(npm run start)
ENTRYPOINT ["npm", "run", "start"]
docker-compose.yaml 파일 정보를 알려주시면 좋겠네요!
services:
server:
image: ***/mbti:mysql
build:
dockerfile: ./Dockerfile
pull: true
context: .
container_name: server
environment:
- PORT=3000
- DB_HOST=db
- DB_PORT=3306
- DB_NAME=db_mbti
- DB_USERNAME=user_mbti
- DB_PASSWORD=pw_mbti
networks:
- mbti-net
ports:
- 4000:3000
db:
image: mysql:8.3.0
container_name: db
environment:
- MYSQL_PORT_PASSWORD=pw_root
- MYSQL_DATABASE=db_mbti
- MYSQL_USER=user_mbti
- MYSQL_PASSWORD=pw_mbti
networks:
- mbti-net
volumes:
- mbti-vol:/var/lib/mysql
networks:
mbti-net:
name: mbti-net
volumes:
mbti-vol:
name: mbti-vol
레슨에 첨부된 docker-compose.yaml 과 들여쓰기까지 같이 비교해보시면 좋을 것 같아요!