兩個文件系統有塊區域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
看到字符集還是之前我們設置的