Docker是一種開源工具,用于將應用程序打包為可移植的容器。MySQL是一種流行的關系型數據庫管理系統,用于存儲和檢索數據。結合使用Docker和MySQL能夠很好地管理數據,并且易于部署。
在使用Docker和MySQL之前,需要先安裝Docker和Docker Compose。在安裝完畢之后打開終端并創建一個新目錄,可以命名為“mysql-docker”:
mkdir mysql-docker cd mysql-docker
進入目錄并創建一個新的docker-compose.yml文件,并將以下內容添加到文件中:
version: '3.1' services: db: image: mysql:5.7 restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: example MYSQL_USER: example MYSQL_PASSWORD: example volumes: - ./data:/var/lib/mysql ports: - 3306:3306
上述Docker Compose文件中定義了以下內容:
- 名稱為“db”的服務將從Docker Hub上拉取MySQL 5.7鏡像。
- “重啟”設置為“始終”以確保在故障時重新啟動MySQL容器。
- 配置MySQL,以便創建一個名為“示例”的數據庫和四個用戶,分別為“root”,“example”,“example1”和“example2”,每個用戶都有“example”的密碼。
- 將MySQL數據存儲在主機上的/data目錄中,并將容器中的3306端口映射到主機上的3306端口。
創建名為“data”的子目錄,該文件夾將用于存儲MySQL數據:
mkdir data
當所有設置完畢之后,運行以下命令啟動MySQL容器:
docker-compose up -d
到此為止,Docker容器已經啟動完成。可以運行以下命令以獲取MySQL容器的狀態:
docker-compose ps
如果MySQL容器已成功啟動,則應該看到類似于以下內容的輸出:
Name Command State Ports ------------------------------------------------------------------------------------ mysql-docker_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
現在就可以使用MySQL客戶端訪問MySQL容器了,如:
mysql -h localhost -P 3306 -u example -pexample
到這里,您就可以使用Docker和MySQL 5.7創建和管理數據了。Happy Hack里程碑!