Docker 安裝mysql鏡像(含離線)
準(zhǔn)備mysql的Docker鏡像(需要在有網(wǎng)的服務(wù)器中下載)
-
使用有網(wǎng)的服務(wù)器下載好鏡像
docker pull mysql:5.7
-
保存下載好的鏡像成tar
docker images docker save imageid > mysql5.7 ll
將準(zhǔn)備好tar導(dǎo)入到docker鏡像
-
將鏡像上傳到所需服務(wù)器(放在固定位置)
-
導(dǎo)入鏡像
docker load <mysql5.7
注意名稱,這里的mysql5.7和上面打包
docker save imageid > mysql5.7
的名稱一致,本例未改名 -
查看導(dǎo)入的鏡像,并重新命名鏡像
docker images docker tag imageid mysql:5.7
Docker啟動(dòng)mysql鏡像并初始化數(shù)據(jù)庫(kù)
Docker啟動(dòng)MySQL鏡像
-
創(chuàng)建本地?cái)?shù)據(jù)庫(kù)目錄、配置文件以及日志目錄(方便進(jìn)行容器數(shù)據(jù)卷掛載)
mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf
-
啟動(dòng)鏡像
docker run --name mysql -p 3306:3306 -v /home/app/mysql/data:/var/lib/mysql -v /home/app/mysql/conf:/etc/mysql/conf.d -v /home/app/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eef0fab001e8
-p 3306:3306
:端口映射,將宿主機(jī)3306端口與容器3306端口做映射
格式:-p 宿主機(jī)端口:容器端口–name mysql
: 指定容器名字為mysql,也可以不指定,不指定沒有容器名字數(shù)據(jù)容器卷掛載
-v /home/app/mysql/data:/var/lib/mysql
:對(duì)宿主機(jī)數(shù)據(jù)庫(kù)目錄與容器數(shù)據(jù)庫(kù)目錄進(jìn)行映射掛載-v /home/app/mysql/conf:/etc/mysql/conf.d
:對(duì)宿主機(jī)數(shù)據(jù)庫(kù)配置文件與容器數(shù)據(jù)庫(kù)配置文件進(jìn)行映射掛載-v /home/app/mysql/logs:/var/log/mysql
:對(duì)宿主機(jī)數(shù)據(jù)庫(kù)日志與容器數(shù)據(jù)庫(kù)日志進(jìn)行映射掛載-e MYSQL_ROOT_PASSWORD=123456
:配置mysql的root賬號(hào)的密碼為123456(可以根據(jù)需要自行修改密碼)-d
:后臺(tái)執(zhí)行eef0fab001e8
:鏡像id,容器第一次啟動(dòng)要根據(jù)鏡像來(lái)啟動(dòng),所以鏡像id必不可少??梢酝ㄟ^(guò)命令docker iamges查看鏡像id
Docker初始化數(shù)據(jù)庫(kù)
有網(wǎng)配置(非必要,按需修改)
-
進(jìn)入到bash
docker exec -it eef0fab001e8 bin/bash
eef0fab001e8
:鏡像id,容器第一次啟動(dòng)要根據(jù)鏡像來(lái)啟動(dòng),所以鏡像id必不可少。可以通過(guò)命令docker iamges查看鏡像id -
docker 安裝vim(有網(wǎng))
apt-get update apt-get install vim
-
修改mysql的配置(非必要,按需修改)
vi /etc/my.cnf
修改的內(nèi)容為:
character-set-server=utf8 max_connections = 5000 log_bin_trust_function_creators=1 lower_case_table_names = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES transaction_isolation = READ-COMMITTED group_concat_max_len = 102400
退出 bash (2 種操作) 1)Ctrl + d 退出容器(也可直接輸入:exit); 2)Ctrl + p + q 退出并在后臺(tái)運(yùn)行容器;
-
重啟 docker 容器
docker restart [容器名]
無(wú)網(wǎng)配置(非必要,按需修改)
-
進(jìn)入到bash
docker exec -it eef0fab001e8 bin/bash
eef0fab001e8
:鏡像id,容器第一次啟動(dòng)要根據(jù)鏡像來(lái)啟動(dòng),所以鏡像id必不可少??梢酝ㄟ^(guò)命令docker iamges查看鏡像id -
docker 配置my.cnf(非必要,按需修改)【直接拷貝,需重啟】
復(fù)制/root/mysql_db_back/下的my.cnf文件到容器中的etc目錄下
docker cp /root/mysql_db_back/my.cnf mysql:/etc
重啟 docker 容器文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-497731.html
docker restart [容器名]
-
檢查參數(shù)配置文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-497731.html
SHOW VARIABLES WHERE variable_name IN ( 'log_bin_trust_function_creators', 'transaction_isolation', 'lower_case_table_names', 'sql_mode', 'character_set_server', 'default_character_set', 'innodb_large_prefix', 'max_connections', 'innodb_buffer_pool_size', 'group_concat_max_len' );
到了這里,關(guān)于Centos /Linux環(huán)境下利用Docker 安裝mysql5.7鏡像(含離線安裝),啟動(dòng)mysql鏡像并初始化數(shù)據(jù)庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!