2026/6/10 12:23:27
网站建设
项目流程
画册欣赏网站,小榄网站,网站建设方案一份,网站 开发 文档前言我在專案開發階段常使用 MySQL Docker#xff0c;主要是好處#xff0c;快速啟動、零安裝成本、版本切換#xff0c;不污染本機系統(不喜歡本機裝一堆有的沒的#xff0c;特別是有的只會用那麼一次)。而且如果在需要#xff0c;任何時間、任何機器#xff0c;都能還原…前言我在專案開發階段常使用 MySQL Docker主要是好處快速啟動、零安裝成本、版本切換不污染本機系統(不喜歡本機裝一堆有的沒的特別是有的只會用那麼一次)。而且如果在需要任何時間、任何機器都能還原相同 DB 環境。註: 在測試也非常好用:1.Unit / Integration Test 啟動臨時 MySQL2.測試結束可以將容器刪除3.不影響正式資料必要:安裝 Docker Desktop參看: https://docs.docker.com/desktop/setup/install/windows-install/專案結構|- docker/| |- mysql/| |─ docker-compose.yml| |- init/| |- schema.sql實作新增docker-compose.ymlMySQLservices: mysql: image: mysql:8.4.7 container_name: dev-mysql restart: always ports: - 3306:3306 environment: # 建立 root 預設使用的密碼 MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: testdb # 建立新使用者並設定該使用者的密碼 MYSQL_USER: mysql MYSQL_PASSWORD: 123456 volumes: # 我本機上建立的資料目錄 - /Users/danny/mysql_data:/var/lib/mysql - ./init:/docker-entrypoint-initdb.d command: --character-set-serverutf8mb4 --collation-serverutf8mb4_unicode_ci新增schema.sqlDROP TABLE IF EXISTS users; CREATE TABLE users ( id bigint NOT NULL AUTO_INCREMENT, email varchar(255) NOT NULL, first_name varchar(255) NOT NULL, last_name varchar(255) DEFAULT NULL, password varchar(255) NOT NULL, username varchar(255) NOT NULL, PRIMARY KEY (id), CONSTRAINT username_unique UNIQUE (username), CONSTRAINT email_unique UNIQUE (email) );說明:初始化新實例:(選項)當容器首次啟動時如需要建立一個具有指定名稱的新資料庫並進行初始化。它將執行位於指定目錄下、副檔名為 .sql 的檔案/docker-entrypoint-initdb.d。文件將按字母順序執行。資料儲存:(選項)在主機系統上建立資料目錄並將其掛載到容器內部可存取的目錄。這樣資料庫檔案就會位於主機系統上建立資料啟動 / 停止# 啟動如果之前會 pull mysql image過會需要pull imagedocker compose up -d# 查看狀態已成功啟動。docker compose ps檢視相關狀態。查看 Docker Desktop可以看到 Containers 已有剛建立的 dev-mysql使用mysql client 工具連線可以看到剛初始建立的table users文章到此結束。謝謝!:-( 怎沒半個粉