[mac] Docker Compose 로 mysql 더 쉽게 설치하여 laravel 프로젝트에서 사용하기
🔗 docker로 mysql 설치하는 두가지 방법
🔍 docker 명령어로
docker 설치
https://hub.docker.com/editions/community/docker-ce-desktop-mac
docker container run -d -p 3306:3306 mysql
아래와 같이 더 자세히 옵션을 추가할 수 있다.
docker container run -d -p 3306:3306 --name mysql_db -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql
-d 옵션
컨테이너가 detached 모드에서 실행되며, 실행 결과로 컨테이너 ID만을 출력
-p 옵션
호스트와 컨테이너 간의 포트 배포와 바인드를 위해 사용됨. 호스트 컴퓨터에서 컨테이너에서 리스닝하고 있는 포트로 접속할 수 있도록 설정해줌.
--name 옵션
컨테이너에 이름 부여
-e 옵션
컨테이너의 환경변수를 설정
⛔️ mac M1 칩의 경우 --platform 옵션 추가하기
mac M1 칩의 경우 다음과 같은 에러가 난다.
> docker container run -d -p 3306:3306 mysql
Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
docker: no matching manifest for linux/arm64/v8 in the manifest list entries.
See 'docker run --help'.
❗️ platform 이 linux/amd64 임을 명시하여 에러를 해결한다.
> docker container run -d -p 3306:3306 --platform linux/amd64 mysql
🔍 docker compose로
docker-compose.yml를 작성하기
1️⃣ 컨테이너를 실행할 폴더를 생성
> cd Documents
> mkdir docker_db
> cd docker_db
2️⃣ vi 에디터를 열어 docker-compose.yml에 다음 내용 저장
> vi docker-compose.yml
version: "3.7" # 파일 규격 버전
services: # 이 항목 밑에 실행하려는 컨테이너들 정의 ( 컴포즈에서 컨테이너 : 서비스 )
db_mysql: # 서비스 명
platform: linux/x86_64 # Mac m1 칩인 경우 platform을 명시해줍니다.
image: mysql:5.7 # 사용할 이미지
restart: always
command: --lower_case_table_names=1
container_name: db_mysql # 컨테이너 이름 설정
ports:
- "3306:3306" # 접근 포트 설정 (컨테이너 외부:컨테이너 내부) <- 컨테이너 내부는 무조건 3306
environment: # -e 옵션
- MYSQL_DATABASE=local
- MYSQL_ROOT_PASSWORD=password # MYSQL 패스워드 설정 옵션
- TZ=Asia/Seoul
command: # 명령어 실행
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
volumes:
- ./data:/var/lib/mysql # -v 옵션 (다렉토리 마운트 설정)
✅ 체크 해두어야 할 사항 ?
-> database 이름은 local
-> ROOT_PASSWORD는 password
3️⃣ docker-compose up 명령어로 컨테이너 실행시키기
> docker-compose up -d
docker ps 로 컨테이너의 리스트 확인 가능
> docker ps
🔗 laravel 프로젝트에서 docker container 사용
.env 파일 수정하기
위에서 ✅ 체크한 내용을 바탕으로 아래 내용이 잘 들어왔는지 확인.
DB_PORT=3306
DB_DATABASE=local
DB_USERNAME=root
DB_PASSWORD=password
Author And Source
이 문제에 관하여([mac] Docker Compose 로 mysql 더 쉽게 설치하여 laravel 프로젝트에서 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@diduya/mac에서-Docker-Compose-사용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)