Docker運行Mariadb數據庫讀寫分離
按網上的方法:
docker run -d -p 3306:3306 --restart always -e MYSQL_ROOT_PASSWORD={password} --name db-mysql -v /docker/mysql/:/var/lib/mysql mysql/mysql-server
結果只會提示root用戶無法登錄,要構建一個完好的分離環境,應當按如下步驟:
1、首先建立一個docker容器,自動下載最新鏡像。
docker run -d -p 3306:3306 --restart always -e MYSQL_ROOT_PASSWORD={password} --name db-mariadb docker.io/mariadb:latest
2、進入容器中進行配置mysql
docker exec -it db-mariadb bash
3、正常配置mariadb數據庫
4、從容器中退出
exit
5、本機建立用於存放數據庫文件的目錄Docker
mkdir /Docker
6、將容器中數據文件拷出到本機
docker cp db-mariadb:/var/lib/mysql /docker/
7、停止原來的容器並刪除
docker stop db-mariadb
dokcer rm db-mariadb
8、創建新容器,並進行目錄掛載,注意系統中如果開啟了selinux,一定要加上--privileged=true。
docker run -d -p 3306:3306 --restart always -e MYSQL_ROOT_PASSWORD={password} --name db-mariadb -v /docker/mysql:/var/lib/mysql --privileged=true mariadb