[Mac]Docker Componentでmysqlを簡単にインストールしlaravelプロジェクトで使用


🔗 dockerを使用してmysqlをインストールする2つの方法


🔍 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オプション
コンテナは分離モードで動作し、コンテナIDのみを運転結果として出力する
-pオプション
ホストとコンテナ間のポートの配置とバインドに使用します.コンテナでポーリング中のポートにホストを接続できます.
--nameオプション
名前付きコンテナ
-eオプション
コンテナの環境変数の設定

▼mac M 1チップ--プラットフォームオプションを追加


MacM 1チップの場合、次のエラーが発生します.
> 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'.
⑪」プラットフォームがlinux/Amd 64であることを示し、エラーを解決する.
> docker container run -d -p 3306:3306 --platform linux/amd64 mysql 

🔍 埠頭労働者.


docker-compose.ymlの作成


1▼コンテナを実行するフォルダを作成
> cd Documents
> mkdir docker_db
> cd docker_db
2▼𔣤vi編集、ドックステーション-作曲.次の内容を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 옵션 (다렉토리 마운트 설정)
検査が必要な事項は?
->データベース名local
->ROOT PASWORDはpassword
3π埠頭-compose upコマンドを使用してコンテナを実行
> docker-compose up -d

コンテナリストはdocker psで表示できます

> docker ps

🔗 Laravelプロジェクトでdockerコンテナを使用する


.envファイルの変更


上の確認により、下の内容が正しいかどうか.
DB_PORT=3306
DB_DATABASE=local
DB_USERNAME=root
DB_PASSWORD=password