兩個文件系統有塊區域Area,我們要做的是把兩個Area做文件映射

jesse騰訊雲上有個linux的環境,版本比較老了

簡書的地址:
https://www.jianshu.com/p/b3bf647a726e
先把舊版的移除掉

yum -y remove docker docker-common container-selinux
設置新版本的docker的地址
yum-config-manager \
--add-repo \
https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo



安裝完成后啟動docker

啟動后再看下docker的版本

石墨文檔的地址
課程中使用的 docker 命令文檔:
https://shimo.im/docs/anrlYMFEYloN52c8/
mount是用於集群的

這里先來實驗Volume這種方式
這里的--volume可以縮寫成-v


在騰訊雲上新建dokcer/mysql/config的文件夾

然后在mysqk下面再去新建db文件夾。
config用來防止mysql的配置文件的

在config下新建my.cnf文件


開始調用

進入etc/docker文件夾

編輯daemon.json這個文件
vim daemon.json:編輯這個文件。但是沒有這個文件。
我們用vi 新建daemon.json這個文件

把阿里雲上的鏡像拷貝過去


打開這個文件看一下
cate daemon.json

systemctl restart docker:重啟docker

然后再來執行這個語句,他會去mysql的官方去下載mysql的鏡像

這里報錯了

刪除這個mysql01

這里是有config和data這兩個文件夾。
需要在mysql的目錄下有個data文件夾

再次執行還是報錯了

問題是my.cnf居然是一個文件夾

移除掉這個文件夾

在config下創建my.cnf這個文件
vi my.cng


再次查看一下,確實是一個文件了


再次執行。先把之前的刪掉,再去執行

docker logs mysql01:查看執行的日志

cokder ps查看到mysql01已經啟動了

docker logs mysql01:找到root的默認密碼

docker exec -it mysql01 bash:exec執行base 進入到mysql01

使用root登陸,然后輸入密碼

使用這個命令設置mysql的密碼


看到root還是只能在localhost上登陸

再來看下字符集的問題,依然沒有utf-8

退出這個容器:exit

進入docker下的mysql文件夾 下面已經有很多mysql的文件在這里了

進入config文件夾下,這里有我們的my.cnf這個文件

vim my.cnf這個文件

加入字符集的配置

docker restart mysql01這個容器

再次進去這個mysql容器然后root登陸,

再次查看我們的字符集。已經生效了

exit:先退出這個容器
dcoker stop mysql01:然后停止這個容器

docker rm mysql01:刪除這個mysql01的容器

docker ps -a沒有任何容器是在運行的

我們還可以使用這個命令,把原來的配置文件和數據都加載過來

執行上面那段命令后,再用docker ps 查看容器

還在啟動,啟動我們看下字符集是否還是原來我們設置的那樣

進入mysql01這個容器

root登陸進去。面是password123
看到字符集還是之前我們設置的

