개발/Docker

# [Docker] Docker compose 로 컨테이너 관리

ForrestPark 2024. 12. 13. 12:06

🌞 2024.12.12 Thu

1. Docker compoese 사용 이유

 • 다양한 컨테이너 관리시 복잡한 option 명령어 치는 것은 귀찮고 에러 유발.
 • 파일로 만들어서 실행 하면 과정이 간소화됨.

2. Nginx compose 생성 및 실행

📝📝📝📝📝📝 << compose.yml>> 📝📝📝📝📝

services: 
  my-web-server:
    container_name: webserver
    image: nginx
    ports: 
      - 80:80

⭐️ services(container name =$ -name webserver), image(=$docker run )

🧿🧿🧿 << command line interface>> 🧿🧿🧿

docker compose up -d 
docker compose up --build -d
docker compose ps
docker ps
docker ps -a 
docker compose logs
## localhost:80 check 
docker compose down
docker compose pull 

• compose.yml 에서 정의한 이미지파일에서 코드 변경되엇을 경우 이미지 다시 빌드 해야 적용됨. --build 옵션
• docker compose up 이미지가 없을때만 빌드해서 컨테이너 실행. --build 는 이미지가 있건 없건 무조건 빌드를 다시 해서 컨테이너 실행 가능.
• compose pull : compose.yml 안에 있는 특정 이미지를 다운받아서 업데이트를 함.

3. Redis compose 작성 및 실행

📝📝📝📝📝 << compose.yml>> 📝📝📝📝📝

services:
  my-cache-server:
    image: redis
    ports: 
      - 6379:6379 

🧿🧿🧿 << command line interface>> 🧿🧿🧿

docker compose up -d 
docker compose ps
docker ps
docker logs [container id ]
docker exec -it [containder id] bash
docker run -d -p 6379:6379 redis
$ redis-cli
$ set 1 jscode
$ get 1