상세 컨텐츠

본문 제목

Mac[일명 맥]/Windows - Docker Compose 환경 구성 및 MariaDB,PhpmyAdmin 예제

개발 관련/Docker

by jjpapa36912 2023. 11. 21. 17:19

본문

  1. Docker 환경 구성
    1. Mac
      1. 먼저 Homebrew가 설치되어 있지 않다면 터미널에 다음의 명령어를 입력하여 설치한다.
        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"​
      2. brew 업데이트를 한 후 docker, docker-compose, colima를 차례로 설치한다
        brew update
        
        brew install docker
        
        brew install docker-compose
        
        brew install colima
      3. colima를 실행한다
        colima start​
        - colima를 실행하는 이유는 docker daemon을 실행시켜 나중에 docker container를 띄울 수 있는 준비를 하기 위함이다. colima를 실행하지 않으면 docker container를 실행 시키려고 할때 daemon이 돌아가지 않는다는 에러가 뜨면서 docker container가 실행되지 않는다.
        (사실 Docker Desktop for mac이나 Docker Desktop for Windows를 설치하면 이런 과정 필요 없이 바로 docker container를 띄울 수 있다.)
    2. Windows
      1. 다음의 링크에서 Docker Desktop for Windows를 설치하면 된다.
        https://docs.docker.com/desktop/install/windows-install/
         

        Install Docker Desktop on Windows

        Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

        docs.docker.com


  2. MariaDB / PhpmyAdmin 실행 예제
    1. Docker Compose를 사용하여 mariadb / phpmyadmin을 띄우기 위해서는 docker-compose.yml이라는 파일을
      만들어 다음의 설정을 입력하여야 한다.
      version: "3.2"
      
      services:
        mariadb:
          # platform: linux/amd64 << mac M1 칩 유저의 경우 platform 명시해줘야 함~!
          image: mariadb:10.3
          container_name: mariadb
          ports:
            - 3306:3306
          restart: always
          volumes:
            - ./conf.d:/etc/mysql/conf.d
            - /var/run/docker.sock:/var/run/docker.sock
          environment:
            - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
            - MYSQL_USER=${MYSQL_USER}
            - MYSQL_PASSWORD=${MYSQL_PASSWORD}
            - MYSQL_DATABASE=${MYSQL_DATABASE}
          networks:
            - myNetwork
        phpmyadmin:
          image: phpmyadmin/phpmyadmin:latest
          container_name: phpmyadmin
          restart: always
          links:
            - mariadb
          ports:
            # 83 is the host port and 80 is the docker port
            - 83:80
          environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=mariadb
            - PMA_PORT=3306:3306
          depends_on:
            - mariadb
          networks:
            - myNetwork
      networks:
        myNetwork:
          driver: bridge​
      (참고로 mac M1 칩 유저는 위의 mariadb service에서 주석 처리한 부분 처럼 platform을 명시해줘야 한다! )

    2.  같은 디렉토리안에 .env라는 파일을 만들어 다음의 변수들을 입력하여 사용한다.
      MYSQL_ROOT_PASSWORD=1234
      MYSQL_USER=user
      MYSQL_PASSWORD=1234
      MYSQL_DATABASE=myDB
       - 이 변수들은 docker-compose.yml에서 사용될 수 있다!!


    3.  폴더의 구조를 보여주면 다음과 같다.
      (나는 mariadb라는 폴더를 만들어 하위에 docker-compose.yml 및 .env 파일을 만들었다.)
      -- mariadb
           -- docker-compose.yml
           -- .env​


    4. docker-compose.yml 파일이 있는 경로에서 다음의 명령어를 실행하면, mariadb / phpmyadmin container를 
      실행할 수 있다.
      docker-compose up​


    5. 다음의 명령어를 통해서 2개의 container가 잘 돌아가고 있는지 확인한다.
      docker ps​
      - 아래와 같은 모습이면 성공!!
       
    6. 웹 브라우저에서 "localhost:83" 으로 접속하면 phpadmin 화면으로 들어갈 수 있다.
      .env 파일에서 설정한 아이디와 비밀번호로 접속하면 된다.



        

     

 

 

여기까지 Docker Compose를 이용한 mariadb / phpmyadmin 실행 방법을

알아보았습니다!!