在Docker中安裝并運行三個MySQL數(shù)據(jù)庫的操作指南
在 Docker 中安裝并運行三個 MySQL 數(shù)據(jù)庫
1. 確保 Docker 已安裝和運行
確保 Docker 服務(wù)已在你的系統(tǒng)中正確安裝和運行,可以通過以下命令檢查:
docker --version docker info
2. 拉取 MySQL 鏡像
從 Docker Hub 拉取最新版 MySQL 鏡像:
docker pull mysql:latest
3. 創(chuàng)建 MySQL 數(shù)據(jù)庫的網(wǎng)絡(luò)(可選)
為了便于管理多個容器,可以創(chuàng)建一個自定義網(wǎng)絡(luò):
docker network create mysql-network
4. 創(chuàng)建并運行第一個 MySQL 容器
運行以下命令啟動第一個 MySQL 容器:
docker run -d \ --name mysql-db1 \ --network mysql-network \ -e MYSQL_ROOT_PASSWORD=rootpassword1 \ -e MYSQL_DATABASE=db1 \ -e MYSQL_USER=user1 \ -e MYSQL_PASSWORD=password1 \ -p 3306:3306 \ mysql:latest
參數(shù)說明:
--name mysql-db1:容器名稱。--network mysql-network:使用之前創(chuàng)建的網(wǎng)絡(luò)。-e MYSQL_ROOT_PASSWORD=rootpassword1:設(shè)置 root 用戶密碼。-e MYSQL_DATABASE=db1:初始化的數(shù)據(jù)庫名稱。-e MYSQL_USER=user1和-e MYSQL_PASSWORD=password1:設(shè)置普通用戶及其密碼。-p 3306:3306:將本機的 3306 端口映射到容器的 3306 端口。
5. 創(chuàng)建并運行第二個 MySQL 容器
啟動第二個 MySQL 容器,需確保端口不沖突:
docker run -d \ --name mysql-db2 \ --network mysql-network \ -e MYSQL_ROOT_PASSWORD=rootpassword2 \ -e MYSQL_DATABASE=db2 \ -e MYSQL_USER=user2 \ -e MYSQL_PASSWORD=password2 \ -p 3307:3306 \ mysql:latest
6. 創(chuàng)建并運行第三個 MySQL 容器
啟動第三個 MySQL 容器,繼續(xù)設(shè)置不同的端口:
docker run -d \ --name mysql-db3 \ --network mysql-network \ -e MYSQL_ROOT_PASSWORD=rootpassword3 \ -e MYSQL_DATABASE=db3 \ -e MYSQL_USER=user3 \ -e MYSQL_PASSWORD=password3 \ -p 3308:3306 \ mysql:latest
7. 驗證容器運行狀態(tài)
使用以下命令查看運行中的容器:
docker ps
你將看到類似如下輸出:
CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES abcd1234 mysql:latest "docker-entrypoint.s…" Up 10 seconds 0.0.0.0:3306->3306/tcp mysql-db1 efgh5678 mysql:latest "docker-entrypoint.s…" Up 10 seconds 0.0.0.0:3307->3306/tcp mysql-db2 ijkl9101 mysql:latest "docker-entrypoint.s…" Up 10 seconds 0.0.0.0:3308->3306/tcp mysql-db3
8. 連接到 MySQL 數(shù)據(jù)庫
使用 mysql 客戶端或其他工具連接到 MySQL 數(shù)據(jù)庫。示例如下:
連接到第一個數(shù)據(jù)庫:
mysql -h 127.0.0.1 -P 3306 -u user1 -p
連接到第二個數(shù)據(jù)庫:
mysql -h 127.0.0.1 -P 3307 -u user2 -p
連接到第三個數(shù)據(jù)庫:
mysql -h 127.0.0.1 -P 3308 -u user3 -p
優(yōu)化和注意事項:
持久化數(shù)據(jù):
如果需要數(shù)據(jù)持久化,可以為每個容器掛載宿主機目錄:
-v /path/to/db1:/var/lib/mysql
資源限制:
可以通過 --memory 和 --cpus 參數(shù)限制容器資源使用。
備份與恢復(fù):
定期使用 docker exec 結(jié)合 mysqldump 進行備份。
到此這篇關(guān)于在Docker中安裝并運行三個MySQL數(shù)據(jù)庫的操作指南的文章就介紹到這了,更多相關(guān)Docker安裝并運行三個MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 容器生命周期 架構(gòu) 以及和VM之間的差異詳解
這篇文章主要介紹了Docker 容器生命周期 架構(gòu) 以及和VM之間的差異詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本)
本文主要介紹了docker啟動mysql并映射數(shù)據(jù)目錄(含備份腳本),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
docker network如何創(chuàng)建橋接網(wǎng)絡(luò)
這篇文章主要介紹了docker network如何創(chuàng)建橋接網(wǎng)絡(luò)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04

