【docker】基於Dockerfile構建mysqld服務鏡像
二 寫Dockerfile 文件
三 準備Dockefile中需要的ADD的文件
(1)my.cnf為mysql運行時候的主配置文件,需要根據自己的實際情況進行書寫
(2)mysqld_charset.cnf為mysql運行時候的字符配置,需要根據自己的實際情況進行書寫
(3) import_sql.sh
(4)run.sh 此處提供帶主從復制和自定義密碼的run文件
四 創建鏡像
五 測試
通過xshell 連接進容器,查看服務器是否啟動;此處直接使用mysql命令,便可以以root的身份進入,配置好相關用戶之後使用關閉容器,docker commit進行提交。
通過mysql默認的用戶名和用戶密碼遠程連接mysqld 測試,默認用戶為admin密碼可以使用docker logs mysql查看。admin用戶具有root的所有權限。
說明:每次如果是使用-P選項啟動容器,每次stop容器之後再start,端口將會發生變化,所以建議使用-p指定固定的端口。可以減少修改iptables規則或者雲服務器的安全策略
六 掛載mysql數據卷
其實mysql的dockerfile文件中已經使用了VOLUME 指令為容器創建一個一直有效的空間(不會因為刪除容器而被刪除),但是這個空間是新創建的,而且物理機上命令比較復雜。此處可以直接使用-v選項掛載一個宿主機現在的目錄,而且容器可以直接訪問該目錄下的所有數據。
七 設置mysql默認用戶的密碼
默認的mysql密碼在啟動容器之後使用docker logs |查看。修改默認用戶(admin)的密碼:
-e參數可以來設定容器內任意的環境變量。甚至覆蓋已經存在的環境變量,或者是在Dockerfile中通過ENV設定的環境變量。
八 啟用主從模式
創建mysql主容器
創建mysql從容器(–link name:alias)
註意:此處主容器的–name必須為mysql,否則會報錯。
【docker】基於Dockerfile構建mysqld服務鏡像