1. 程式人生 > 實用技巧 >docker環境部署mysql

docker環境部署mysql

參考檔案

部署步驟

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