日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

关于docker环境下mysql的使用相关

發(fā)布時(shí)間:2025/3/17 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于docker环境下mysql的使用相关 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一.在docker容器中運(yùn)用mysql與外界交互方法一:使用Dockerfile一鍵創(chuàng)建 1.第一步創(chuàng)建Dockerfile文件 Dockerfile: FROM ubuntu:14.04 #使用的系統(tǒng)版本 MAINTAINER gaoze #主要標(biāo)簽 #RUN apt-get update #更新軟件庫(kù) RUN apt-get -y install mysql-server #安裝mysql RUN /etc/init.d/mysql start \&& mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';" \&& mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';" #以上為登陸mysql并授權(quán)允許root賬戶遠(yuǎn)程與本地登陸 RUN sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf \&& echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/my.cnf > /tmp/my.cnf \&& mv /tmp/my.cnf /etc/mysql/my.cnf #以上重新配置my.cnf文件 EXPOSE 3306 #關(guān)聯(lián)到3306端口 CMD ["/usr/bin/mysqld_safe"] 2.第二步shell下開始執(zhí)行命令 (1)#指定docker image的名字為docker-mysql docker build -t docker-mysql . //開始執(zhí)行Dockerfile文件,”-t”表示標(biāo)簽,“.”代表當(dāng)前目錄,因?yàn)槭窃诰€安裝要下載很多東西時(shí)間會(huì)比較長(zhǎng)(2)#啟動(dòng)這個(gè)image,-d代表后臺(tái)執(zhí)行,-p代表端口映射 docker run -d -p 50001:3306 docker-mysql(3)#讓我們?cè)L問mysql試試,先看看container的運(yùn)行狀況 docker ps (4)#發(fā)現(xiàn)port寫的是 0.0.0.0:50001 -> 3306/tcp mysql -h 0.0.0.0 -P 50001 -uroot -p123456ok,可以訪問了,由于0.0.0.0是localhost(雖然hosts中已經(jīng)屏蔽了,然而還是可以訪問本地),試試mysql -h ${本機(jī)IP地址} -P 50001 -uroot -p123456那么,這樣便創(chuàng)建了一個(gè)可用的docker image方法二:下載mysql的docker鏡像-〉運(yùn)行-〉授權(quán) (1)#從官方下載docker鏡像,這里選擇的5.6.35版本 sudo?docker pull mysql:5.6.35 (2)#創(chuàng)建鏡像容器并保持在后臺(tái)運(yùn)行狀態(tài),需要指定端口關(guān)系,否則會(huì)隨機(jī)分配,無法與外界交互 sudo?docker run --name mysql -p 12345:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.6.35(3)#連接到容器的bash終端 sudo docker exec -it mysql bash(4)#連接到mysql數(shù)據(jù)庫(kù),my-secret-pw是root的默認(rèn)密碼,可以在運(yùn)行鏡像時(shí)定義 mysql -uroot -pmy-secret-pw(5)#修改root的登陸密碼 -〉set password for root@localhost = password('123456');(6)#退出mysql連接,在mysql容器bash中執(zhí)行 a)mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';" b)mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'localhost' identified by '123456';" c)sed -Ei 's/^(bind-address|log)/#&/' /etc/mysql/my.cnf && echo 'skip-host-cache\nskip-name-resolve' | awk '{ print } $1 == "[mysqld]" && c == 0 { c = 1; system("cat") }' /etc/mysql/my.cnf > /tmp/my.cnf d)mv /tmp/my.cnf /etc/mysql/my.cnf (7)#在主機(jī)bash中遠(yuǎn)程登陸測(cè)試,“-P”大寫表示映射的端口,可以通過sudo docker ps查看 mysql -h 192.168.161.129 -P 12345 -uroot -p123456二.在docker容器中進(jìn)行鏡像遷移方法:運(yùn)行原始鏡像-〉在容器中配置-〉保存容器為新的鏡像-〉導(dǎo)出/push到云端 1.使用docker commit 命令來提交更新后的副本 #sudo docker commit -m "此處是文本說明" -a "指定的更新用戶" 0b2616b0e5a8[]創(chuàng)建鏡像的容器ID] 倉(cāng)庫(kù)名:tag標(biāo)簽2.1使用 docker save 命令導(dǎo)出鏡像到本地文件 sudo docker save -o ubuntu_14.04.tar ubuntu:14.042.2使用 docker load 載入保存的鏡像 sudo docker load --input ubuntu_14.04.tar 或者是 sudo docker load < ubuntu_14.04.tar3.運(yùn)行鏡像文件,必需指定映射端口 Sudo docker run --name mysqlv1 -p 12345:3306 -d docker-mysl:v1

?

轉(zhuǎn)載于:https://my.oschina.net/urlove/blog/1544546

總結(jié)

以上是生活随笔為你收集整理的关于docker环境下mysql的使用相关的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。