2024. 12. 1. 01:14ㆍ코딩공부/docker
점점 도커 명령어가 많아지는걸 느끼고 있다...
이제 docker-compose 파일을 만들어서 필요한 옵션들을 집어넣어서 관리하는게 좋을 것 같다.
version: "3.8"
services:
app: # 컨테이너 이름
image: python-dev # 이미지 이름
build:
context: . # Dockerfile이 위치한 디렉토리
volumes:
- ./local_dir:/app # 로컬 디렉토리(local_dir)를 컨테이너 디렉토리(/app)에 마운트
working_dir: /app # 컨테이너 내부 작업 디렉토리 설정
command: bash # 기본 실행 명령어
docker-compose 파일은 이런식으로 작성되는데, 여러가지 정보들을 담아야 한다.
일단 첫번째 줄에 version 부분에는 도커 버전을 작성해야하는데, 요즘은 생략해도 문제없다.
- services로 묶이는 부분에 여러 옵션을 적어두면 되는데, 우선 빌드해둔 이미지가 있어야 한다.
- app 부분에는 컨테이너 이름을 작성하면 되고,
- image 부분에 빌드해둔 이미지 이름을 적어주면 된다.
위 코드에는 로컬 디렉토리를 마운트해주는 옵션을 넣어두었다.
나는 Projects 파일 안에 여러 코드 파일들을 저장해두고 사용하는데,
이 프로젝트들마다 도커파일과 도커 컴포즈 파일을 만들어 개발환경을 구성하고자 한다.
docker-compose 파일까지 다 만들어졌다면, 아래 두 명령어를 차례로 실행하여 컨테이너를 빌드할 수 있다.
docker compose build
docker compose up
간단하게 btc_auto 폴더에 똑같이 도커 파일과 도커 컴포즈 파일을 생성해뒀고, 파일 마운트 기능까지 잘 작성해뒀지만...
어째서인지 컨테이너가 실행되자마자 꺼진다.
챗지피티한테 물어보니 코드를 실행할 것이 아니라면 다른 명령어를 docker compose 파일에 작성해둬야 한단다...
일단 챗지피티에게 들은대로 파일을 수정하면 아래와 같다.
services:
btc-auto:
image: python-dev
build:
context: . # Dockerfile이 위치한 디렉토리
volumes:
- /c/Users/woghd/Desktop/projects/btc_auto:/app
working_dir: /app # 컨테이너 내부 작업 디렉토리 설정
command: tail -f /dev/null # 기본 실행 명령어
파일 마운트 부분과 command 부분이 변경되었는데,
volumes 부분에는 chat GPT를 통해 받은 docker-compose 파일 전용 형식으로 변경해두었다.
command 부분에는 bash 대신 다른 명령어가 들어갔는데, 코드 실행 후 컨테이너가 바로 꺼지는게 아니라 대기할 수 있도록 명령어를 수정해주었다.
vs코드에서도 정상적으로 컨테이너와 연결된걸 볼 수 있다.
'코딩공부 > docker' 카테고리의 다른 글
[Docker 개발환경 4] 컨테이너 내에서 의존성 유지하기 (0) | 2024.11.30 |
---|---|
[Docker 개발환경 3] 컨테이너와 로컬 파일, Git 연결하기 (4) | 2024.11.29 |
[Docker 개발환경 2] 도커를 활용하여 개발환경 구축하기 (1) | 2024.11.29 |
[Docker 개발환경 1] 설치 및 환경 구성하기 (0) | 2024.11.29 |