目錄
- 1.創(chuàng)建容器并進(jìn)行持久化處理
- 2.配置遠(yuǎn)程連接并嘗試
1.創(chuàng)建容器并進(jìn)行持久化處理
#拉取鏡像 docker pull mysql:8.0.20 #啟動鏡像,用于拷貝配置文件到宿主機(jī) 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ù)持久化到宿主主機(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 掛載文件權(quán)限設(shè)置
–restart unless-stopped 設(shè)置 開機(jī)后自動重啟容器
-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ù)文件 持久化到主機(jī)
-v /etc/localtime:/etc/localtime 容器時間與宿主機(jī)同步
-e MYSQL_ROOT_PASSWORD=cquisse 設(shè)置密碼
-d mysql:8.0.20 后臺啟動,mysql
2.配置遠(yuǎn)程連接并嘗試
#進(jìn)入容器 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'@'%';
退出到服務(wù)器,開放對應(yīng)端口
firewall-cmd --add-port=13306/tcp --permanent firewall-cmd --reload
測試連接