【docker】基于Dockerfile構建mysqld服務鏡像-創新互聯

一 創建構建目錄結構

    # mkdir  -pv docker/mysql# cd docker/mysql/

二 寫Dockerfile 文件

     # vim  Dockerfile        #此處sshd:latest 為上篇文章中創建的鏡         FROM sshd:latestMAINTAINER mykernel(www.mykernel.cn)            #安裝軟件       RUN ENV DEBIAN_FRONTEND noninteractive apt-get update && \      apt-get -yq install mysql-server-5.6 pwgen && \      rm -rf /var/lib/apt/lists/*            # 刪除預安裝的數據庫文件      RUN rm -rf /var/lib/mysql/*            # 添加文件夾下的 MYSQL 配置文件      ADD my.cnf /etc/mysql/conf.d/my.cnf      ADD mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf      ADD authorized_keys /root/.ssh/authorized_keys            # 添加 MYSQL 的腳本      ADD import_sql.sh /import_sql.sh      ADD run.sh /run.shRUN chmod 755 /*.sh            # 設置環境變量,用戶名以及密碼      ENV MYSQL_USER adminENV MYSQL_PASS **Random**            # 設置主從復制模式下的環境變量      ENV REPLICATION_MASTER **False**      ENV REPLICATION_SLAVE **False**      ENV REPLICATION_USER replica      ENV REPLICATION_PASS replica            # 設置可以允許掛載的卷,可以用來備份數據庫和配置文件      VOLUME  ["/etc/mysql", "/var/lib/mysql"]            # 設置可以映射的端口,如果是從我們的 sshd 鏡像繼承的話,默認還會開啟 22 端口      EXPOSE 3306            CMD ["/run.sh"]

三 準備Dockefile中需要的ADD的文件

     # touch my.cnf  mysqld_charset.cnf  authorized_keys   import_sql.sh run.sh

(1)my.cnf為mysql運行時候的主配置文件,需要根據自己的實際情況進行書寫
(2)mysqld_charset.cnf為mysql運行時候的字符配置,需要根據自己的實際情況進行書寫
(3) import_sql.sh
(4)run.sh 此處提供帶主從復制和自定義密碼的run文件

創新互聯公司是一家專業提供洪洞企業網站建設,專注與成都做網站、網站設計、H5建站、小程序制作等業務。10年已為洪洞眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。

四 創建鏡像

     # docker build -t mysql:first  .

五 測試

     # sudo docker run -d -p 1027:22 -p 1026:3306 --name mysql mysql:first

通過xshell 連接進容器,查看服務器是否啟動;此處直接使用mysql命令,便可以以root的身份進入,配置好相關用戶之后使用關閉容器,docker commit進行提交。
通過mysql默認的用戶名和用戶密碼遠程連接mysqld 測試,默認用戶為admin密碼可以使用docker logs mysql查看。admin用戶具有root的所有權限。

說明:每次如果是使用-P選項啟動容器,每次stop容器之后再start,端口將會發生變化,所以建議使用-p指定固定的端口??梢詼p少修改iptables規則或者云服務器的安全策略

六 掛載mysql數據卷

     # docker run -d -P -v  /mydata/mysql:/var/lib/mysql  mysql:first

其實mysql的dockerfile文件中已經使用了VOLUME 指令為容器創建一個一直有效的空間(不會因為刪除容器而被刪除),但是這個空間是新創建的,而且物理機上命令比較復雜。此處可以直接使用-v選項掛載一個宿主機現在的目錄,而且容器可以直接訪問該目錄下的所有數據。

七 設置mysql默認用戶的密碼

默認的mysql密碼在啟動容器之后使用docker logs |查看。修改默認用戶(admin)的密碼:

     # docker run -d -P -e MYSQL_PASS="your_pass"   mysql:first

-e參數可以來設定容器內任意的環境變量。甚至覆蓋已經存在的環境變量,或者是在Dockerfile中通過ENV設定的環境變量。

八 啟用主從模式

創建mysql主容器

     # docker run -d -e REPLICATION_MASTER=true -P -name mysql:first

創建mysql從容器(–link name:alias)

     # docker run -d -e  REPLICATION_SLAVE=true --link mysql:mysql mysql:first

注意:此處主容器的–name必須為mysql,否則會報錯。

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站名稱:【docker】基于Dockerfile構建mysqld服務鏡像-創新互聯
網頁鏈接:http://m.kartarina.com/article22/ccggcc.html

成都網站建設公司_創新互聯,為您提供動態網站建站公司、外貿建站、品牌網站制作、企業建站云服務器

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 免费无码黄十八禁网站在线观看| 日韩AV无码中文无码不卡电影| 亚洲AV无码片一区二区三区| 亚洲爆乳少妇无码激情| 亚洲人成人无码网www国产| 久久AV高清无码| 精品无码久久久久久久久久| 伊人久久一区二区三区无码| 超清无码无卡中文字幕| 人妻丰满熟妇AV无码区| 亚洲国产精品无码久久一线| 一本久道中文无码字幕av| 久久精品亚洲AV久久久无码| 国精品无码一区二区三区在线| 日韩加勒比一本无码精品| 久久久久亚洲AV无码观看| 中文字幕av无码不卡| 韩国无码AV片在线观看网站| 精品久久久久久无码专区| 国产V亚洲V天堂无码| yy111111电影院少妇影院无码| 人妻精品久久无码区| 亚洲AV无码专区在线电影成人| 久久无码专区国产精品| 亚洲精品无码久久久久sm| 久久无码AV中文出轨人妻| 日韩AV无码不卡网站| 国产丝袜无码一区二区视频| 亚洲AV无码AV吞精久久| 亚洲熟妇无码av另类vr影视| 久久国产精品无码HDAV| 曰韩人妻无码一区二区三区综合部| 无码专区狠狠躁躁天天躁| 无码人妻精品一区二区三区夜夜嗨 | 熟妇人妻无码中文字幕| 免费看成人AA片无码视频吃奶| 无码视频免费一区二三区| 免费无码黄动漫在线观看| 国产乱子伦精品免费无码专区| 无码人妻一区二区三区在线水卜樱 | 日韩av无码中文字幕|