DockerDocker ComposeDocker Compose

Q

docker compose exec db sh를 실행하려니 작동이 안 됩니다. 어떻게 작동시키나요?

조회 114

좋아요 0

2025년 1월 29일

댓글 7

2025년 1월 31일
작성한 docker-compose.yaml 파일을 공유해주시면 답변 드리기 더 좋을 것 같아요!
2025년 2월 2일
2025년 2월 2일
# node를 설치한다.
# 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"]
2025년 2월 2일
댓글 달아주신 파일은 Dockerfile 정보인 것 같아요.
docker-compose.yaml 파일 정보를 알려주시면 좋겠네요!
2025년 2월 3일
아 죄송해요, 다른 파일을 올렸네요.
2025년 2월 3일
name: mbti
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
2025년 2월 11일
yaml 파일이라 들여쓰기도 중요한데, 댓글에서는 잘 파악하기가 힘들군요.
레슨에 첨부된 docker-compose.yaml 과 들여쓰기까지 같이 비교해보시면 좋을 것 같아요!

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇