docker環境部署mysql
阿新 • • 發佈:2020-07-20
參考檔案
部署步驟
1. 拉取映象
這裡我拉取了tag為5.7的映象
docker pull mysql:5.7
2. 建立需要對映的目錄
因為需要自定義mysql的配置,所以需要一個配置目錄;
因為需要將mysql生成的資料掛載到本地,所以需要一個資料目錄;
# 建立mysql 資料目錄
mkdir -p /root/mysql/data
# 建立配置檔案
touch /root/mysql/my.cnf
3. 編輯配置檔案
/root/mysql/my.cnf
[mysqld]
explicit_defaults_for_timestamp=true
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8;'
4. 啟動
docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7
5. 檢測是否啟動成功
docker exet -it mysql57 /bin/bash
mysql -uroot -p
上述過程簡化成shell自動化指令碼
#! /bin/bash
docker pull mysql:5.7
mkdir -p /root/mysql/data
touch /root/mysql/my.cnf
(
cat <<EOF
[mysqld]
explicit_defaults_for_timestamp=true
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8;'
EOF
) > /root/mysql/my.cnf
docker stop mysql57
docker rm mysql57
docker run --name mysql57 -p 3306:3306 -v /root/mysql/my.cnf:/etc/my.cnf:ro -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234asdfQ -d mysql:5.7