ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker compose 사용하기
    MSA & 쿠버네티스(Kubernetes) - k8s 2022. 9. 4. 00:01
    728x90

     

    Docker Compose 없이 이미지 컨테이너화

     

    아래의 명령어들을 사용하게 되면 wordpress_net이라는 이름의 network를 구성하고 mysql과 wordpress 이미지를 컨테이너화 시킵니다.

    docker network create wordpress_net
    docker run --name "db" -e "MYSQL_ROOT_PASSWORD=123456" -e "MYSQL_DATABASE=wordpress" -e "MYSQL_USER=wordpress_user" -e "MYSQL_PASSWORD=123456" --network wordpress_net mysql:5.7
    docker run --name app -e "WORDPRESS_DB_HOST=db" -e "WORDPRESS_DB_USER=wordpress_user" -e "WORDPRESS_DB_NAME=wordpress" -e "WORDPRESS_DB_PASSWORD=123456" -e "WORDPRESS_DEBUG=1" -p 8080:80 --network wordpress_net wordpress:latest

     

     

    localhost:8080으로 접속하면 다음과 같은 화면을 볼 수 있습니다.

    localhost:8080

     

    하지만 이런 복잡한 명령어들을 기억하고 일일이 작성하는 것은 힘듭니다.

     

    docker-compose를 이용하면 이런 단점들을 해결할 수 있습니다.

     

    Docker Compose 사용하기

    docker-compose.yml이라는 파일을 생성합니다.

    version: "3.7"
    
    services:
      db:
        image: mysql:5.7
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: 123456
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress_user
          MYSQL_PASSWORD: 123456
      
      app:
        depends_on: 
          - db
        image: wordpress:latest
        ports:
          - "8080:80"
        restart: always
        environment:
          WORDPRESS_DB_HOST: db:3306
          WORDPRESS_DB_NAME: wordpress
          WORDPRESS_DB_USER: wordpress_user
          WORDPRESS_DB_PASSWORD: 123456

    version을 명시해주어야 합니다.

    sevices 안에는 컨테이너들이 들어옵니다.

    db는 mysql 5.7 이미지의 이름을 뜻합니다.

     

    컨테이터의 데이터 유실을 방지하기 위해 데이터를 host에 저장하고 이를 volumes를 활용하여 컨테이너와 연결시킬 수 있습니다.

     

    환경변수들은 environment를 활용하여 설정해줄 수 있습니다.

     

    depends_on은 어떤 컨테이너가 먼저 만들어질지 설정할 수 있습니다.

     

     

    docker compose를 사용하면 네트워크를 연결하는 작업을 수행할 필요가 없습니다.

     

     

     

    아래의 명령어를 통해 docker-compsose.yml 파일을 생성할 수 있습니다.

    notepad docker-compose.yml

     

    아래의 명령어를 통해 docker-compose.yml 파일을 찾고 그 파일의 명령어들을 실행합니다.

    docker-compose up

    localhost:8080에 접속하면 wordpress 화면이 나오게 됩니다.

     

     

    아래의 명령어를 통해 docker-compose로 실행된 컨테이너들을 내릴 수 있습니다.

    docker-compose down

     

     

     

     

     

     

    출처

    https://www.youtube.com/watch?v=EK6iYRCIjYs&t=61s 

     

    댓글

Designed by Tistory.