1. 程式人生 > >【Docker】:使用docker安裝mysql,掛載外部配置和資料

【Docker】:使用docker安裝mysql,掛載外部配置和資料

普通安裝

1.下載映象,mysql 5.7

docker pull mysql:5.7

2.建立mysql容器,並後臺啟動

docker run -d -p 3306:3306 -e MYSQL_USER="woniu" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysqltest1 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci

引數說明:

-e MYSQL_USER="woniu"  :新增woniu使用者

-e MYSQL_PASSWORD="123456":設定新增的使用者密碼

-e MYSQL_ROOT_PASSWORD="123456":設定root使用者密碼

--character-set-server=utf8:設定字符集為utf8

--collation-server=utf8_general_cli:設定字元比較規則為utf8_general_cli

掛載外部配置和資料安裝

1.建立目錄和配置檔案my.cnf

mkdir /docker
mkdir /docker/mysql
mkdir /docker/mysql/conf
mkdir /docker/mysql/data

建立my.cnf配置檔案
touch /docker/mysql/conf/my.cnf

my.cnf新增如下內容:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

2.建立容器,並後臺啟動

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysqltest2 mysql:5.7

引數說明:

--privileged=true:容器內的root擁有真正root許可權,否則容器內root只是外部普通使用者許可權

-v /docker/mysql/conf/my.cnf:/etc/my.cnf:對映配置檔案

-v /docker/mysql/data:/var/lib/mysql:對映資料目錄