Docker安裝部署Mysql8的過程(以作數(shù)據(jù)持久化)
1.創(chuàng)建容器并進行持久化處理
#拉取鏡像 docker pull mysql:8.0.20 #啟動鏡像,用于拷貝配置文件到宿主機 docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20 #查看是否啟動成功 docker ps -a #新建掛載目錄并拷貝配置文件 mkdir -p /mysqldata/ docker cp mysql:/etc/mysql /mysqldata/ #刪除原有鏡像 docker stop mysql docker rm -f mysql #啟動mysql ,掛載配置文件,數(shù)據(jù)持久化到宿主主機 docker run \ -p 13306:3306 \ --name mysql \ --privileged=true \ --restart unless-stopped \ -v /home/mysqldata/mysql:/etc/mysql \ -v /home/mysqldata/mysql/logs:/logs \ -v /home/mysqldata/mysql/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD=cqrecadmin \ -d mysql:8.0.20 #檢查是否運行成功 docker ps -a
命令解釋:
-p 端口映射
--privileged=true 掛載文件權限設置
--restart unless-stopped 設置 開機后自動重啟容器
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 掛載配置文件
-v /mnt/sda1/mysql8.0.20/logs:/logs \ 掛載日志
-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 掛載數(shù)據(jù)文件 持久化到主機
-v /etc/localtime:/etc/localtime 容器時間與宿主機同步
-e MYSQL_ROOT_PASSWORD=cquisse 設置密碼
-d mysql:8.0.20 后臺啟動,mysql
2.配置遠程連接并嘗試
#進入容器 docker exec -it mysql bash #登錄mysql,輸入運行容器時配置的密碼 mysql -u root -p #執(zhí)行sql CREATE USER 'user_galen'@'%' IDENTIFIED WITH mysql_native_password BY 'Galen*10'; GRANT ALL PRIVILEGES ON *.* TO 'user_galen'@'%';
退出到服務器,開放對應端口
firewall-cmd --add-port=13306/tcp --permanent firewall-cmd --reload
測試連接
到此這篇關于Docker安裝部署Mysql8(以作數(shù)據(jù)持久化)的文章就介紹到這了,更多相關Docker安裝部署Mysql8內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決Docker錯誤“docker?build“?requires?exactly?1?argument(s)
這篇文章主要介紹了解決Docker錯誤“docker?build“?requires?exactly?1?argument(s)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08解決Docker報錯:“docker build“ requires exactly&nb
這篇文章主要介紹了解決Docker報錯:“docker build“ requires exactly 1 argument.具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12docker在已有的tomcat鏡像上打新的鏡像的Dockerfile編寫說明介紹
這篇文章主要介紹了docker在已有的tomcat鏡像上打新的鏡像的Dockerfile編寫說明介紹,需要的朋友可以參考下2016-10-10