OrbStack搭建Mysql服務

coding-老王發表於2024-04-08

什麼是OrbStack

OrbStack 是一個可以在 macOS 上快速執行 Docker 容器,和 Linux 虛擬機器的工具,資源佔用率低,高頻寬,速度快。

OrbStack解決了官方Docker的缺陷

  1. 啟動速度快
  2. 網路快
  3. Rosetta x86 模擬
  4. 更低的CPU佔用,更低的記憶體佔用
  5. 更低的電量消耗
  6. 功能更簡潔,更加輕量化

使用OrbStack安裝Mysql

此處建議使用docker-compose去快速編排、構建具有多個docker容器的專案,而不是透過docker run的方式去完成單獨的Docker容器構建。(公司裡的運維老哥跟我說,小白才會用run去玩docker容器🙄,建議我直接上手docker-compose,透過配置檔案和配置命令的方式去管理具有多個Docker容器的專案)

Docker Compose 簡介

Compose 是用於定義和執行多容器 Docker 應用程式的工具。透過 Compose,您可以使用 YAML 檔案(字尾名.yml)來配置應用程式需要的所有服務。然後,使用一個命令,就可以從 YML 檔案配置中建立並啟動所有服務(預設使用的配置檔名稱為docker-compose.yml)。OrbStack內部自動整合docker-compose,因此無需重複安裝,開箱使用

Docker Compose 核心概念

Docker Compose將所管理的容器分為三層,分別是工程(project)服務(service)以及容器(container)

Docker Compose 使用的三個步驟:

  1. 使用 Dockerfile 定義應用程式的環境。
  2. 使用 docker-compose.yml 定義構成應用程式的服務,這樣它們可以在隔離環境中一起執行。
  3. 執行 docker-compose up 命令來啟動並執行整個應用程式。

docker.compose.yml 檔案編寫-以此次搭建Mysql為例

docker-compose.yml
version: "3.3"
services:
  db:
    image: mysql:5.7
    restart: always
    platform: linux/amd64
    container_name: dataDB
    environment:
      MYSQL_DATABASE: "niumu"
      # So you don't have to use root, but you can if you like
      MYSQL_USER: "user"
      # You can use whatever password you like
      MYSQL_PASSWORD: "123654"
      # Password for root access
      MYSQL_ROOT_PASSWORD: "123654"
    ports:
      # <Port exposed> : <MySQL Port running inside container>
      - "3306:3306"
    volumes:
      - ./db-data:/var/lib/mysql
引數解釋
  1. version:version必須指定的,而且總是位於檔案的第一行。它定義了 Compose 檔案格式(主要是 API)的版本,而不是Docker引擎 或是 Docker Compose的版本
  2. services:用於定義不同的應用服務。這裡services下的db表示服務名稱(此處可以取任意名稱),服務都是被Docker Compose部署在各自容器當中
  3. image:指定映象tag或者映象ID。image是必須指定的,或者可以選擇與build存在其一(version1版本不支援同時存在)。
  4. restart:重啟策略,預設no,可選:always,no-failure,unless-stopped
  5. platform:支援的執行平臺。
  6. container_name:容器名稱
  7. environment:新增環境變數。這裡是為資料庫指定資料庫名稱,使用者名稱稱,密碼,root密碼
  8. ports:用於暴露埠。 [在宿主環境/主機暴露的埠]:[容器內部暴露的埠],此外與之類似的還有一個expose,不過expose暴露的埠只提供給容器使用,而不會暴露給主機/宿主環境
  9. volumes:掛載資料卷。上述表示將主機的./db-data掛載到容器的/var/lib/mysql上,訪問/var/lib/mysql就相當於訪問主機的./db-data,資料寫入也會同步到主機上。

啟動Docker Compose

在指定的目錄下建立好docker-compose.yml後,cd到當前目錄,透過docker compose up -d啟動

啟動後示意圖

終端

OrbStack

dataflare

當前只是一個簡單的教程,接下來我也在後面學習搭建一個node+web+nginx+mysql的動手教程

相關文章