中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

【docker】基于Dockerfile構(gòu)建mysqld服務(wù)鏡像

一 創(chuàng)建構(gòu)建目錄結(jié)構(gòu)

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

二 寫(xiě)Dockerfile 文件

     # vim  Dockerfile  
     #此處sshd:latest 為上篇文章中創(chuàng)建的鏡   
     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/*
     
     # 刪除預(yù)安裝的數(shù)據(jù)庫(kù)文件
     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
     
     # 設(shè)置環(huán)境變量,用戶名以及密碼
     ENV MYSQL_USER adminENV MYSQL_PASS **Random**
     
     # 設(shè)置主從復(fù)制模式下的環(huán)境變量
     ENV REPLICATION_MASTER **False**
     ENV REPLICATION_SLAVE **False**
     ENV REPLICATION_USER replica
     ENV REPLICATION_PASS replica
     
     # 設(shè)置可以允許掛載的卷,可以用來(lái)備份數(shù)據(jù)庫(kù)和配置文件
     VOLUME  ["/etc/mysql", "/var/lib/mysql"]
     
     # 設(shè)置可以映射的端口,如果是從我們的 sshd 鏡像繼承的話,默認(rèn)還會(huì)開(kāi)啟 22 端口
     EXPOSE 3306
     
     CMD ["/run.sh"]

三 準(zhǔn)備Dockefile中需要的ADD的文件

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

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

牟平網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,牟平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為牟平成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的牟平做網(wǎng)站的公司定做!

四 創(chuàng)建鏡像

     # docker build -t mysql:first  .

五 測(cè)試

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

通過(guò)xshell 連接進(jìn)容器,查看服務(wù)器是否啟動(dòng);此處直接使用mysql命令,便可以以root的身份進(jìn)入,配置好相關(guān)用戶之后使用關(guān)閉容器,docker commit進(jìn)行提交。
通過(guò)mysql默認(rèn)的用戶名和用戶密碼遠(yuǎn)程連接mysqld 測(cè)試,默認(rèn)用戶為admin密碼可以使用docker logs mysql查看。admin用戶具有root的所有權(quán)限。

說(shuō)明:每次如果是使用-P選項(xiàng)啟動(dòng)容器,每次stop容器之后再start,端口將會(huì)發(fā)生變化,所以建議使用-p指定固定的端口??梢詼p少修改iptables規(guī)則或者云服務(wù)器的安全策略

六 掛載mysql數(shù)據(jù)卷

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

其實(shí)mysql的dockerfile文件中已經(jīng)使用了VOLUME 指令為容器創(chuàng)建一個(gè)一直有效的空間(不會(huì)因?yàn)閯h除容器而被刪除),但是這個(gè)空間是新創(chuàng)建的,而且物理機(jī)上命令比較復(fù)雜。此處可以直接使用-v選項(xiàng)掛載一個(gè)宿主機(jī)現(xiàn)在的目錄,而且容器可以直接訪問(wèn)該目錄下的所有數(shù)據(jù)。

七 設(shè)置mysql默認(rèn)用戶的密碼

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

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

-e參數(shù)可以來(lái)設(shè)定容器內(nèi)任意的環(huán)境變量。甚至覆蓋已經(jīng)存在的環(huán)境變量,或者是在Dockerfile中通過(guò)ENV設(shè)定的環(huán)境變量。

八 啟用主從模式

創(chuàng)建mysql主容器

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

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

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

注意:此處主容器的–name必須為mysql,否則會(huì)報(bào)錯(cuò)。

網(wǎng)頁(yè)標(biāo)題:【docker】基于Dockerfile構(gòu)建mysqld服務(wù)鏡像
鏈接地址:http://www.rwnh.cn/article20/gpoico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈微信公眾號(hào)、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
喀喇沁旗| 斗六市| 洱源县| 东台市| 海口市| 寿宁县| 怀化市| 仙游县| 兴文县| 江永县| 高要市| 宁都县| 凉山| 洞口县| 富顺县| 论坛| 大宁县| 桃源县| 长寿区| 和田县| 内江市| 公主岭市| 剑河县| 沅陵县| 栖霞市| 双辽市| 阿勒泰市| 高安市| 班玛县| 新源县| 集贤县| 枞阳县| 宁津县| 乌鲁木齐市| 呼图壁县| 东山县| 边坝县| 祁连县| 石棉县| 繁昌县| 恩平市|