docker中使用mysql數(shù)據(jù)庫(kù)詳解(在局域網(wǎng)訪(fǎng)問(wèn))
前言
開(kāi)發(fā)過(guò)程中經(jīng)常需要安裝、調(diào)試mysql數(shù)據(jù)庫(kù),還需要在各種操作系上安裝包依賴(lài),實(shí)在是繁瑣,因此就研究了一下如何在docker上運(yùn)行一個(gè)mysql鏡像,省卻了我安裝、找依賴(lài)的問(wèn)題。
注:本文所有內(nèi)容均在CentOS Linux release 7.2.1511 (Core) 上測(cè)試完成
假設(shè),你已經(jīng)安裝好docker。如果沒(méi)有安裝好docker可以參考centos7上安裝docker
使用
docker pull mysql
獲得mysql鏡像,接著使用
docker images
查看鏡像列表,如下

使用
docker run -itd -P mysql bash
啟動(dòng)mysql鏡像,docker run是啟動(dòng)容器的命令;i是交互式操作,t是一個(gè)終端,d指的是在后臺(tái)運(yùn)行,-P指在本地生成一個(gè)隨機(jī)端口,用來(lái)映射mysql的3306端口,mysql指運(yùn)行mysql鏡像,bash指創(chuàng)建一個(gè)交互式shell。
使用
docker ps -a
查看已經(jīng)運(yùn)行的docker鏡像,如下 image

從途中可以看到mysql鏡像的3306端口綁定了本地的32773端口,因此就說(shuō)如果你要在局域網(wǎng)中訪(fǎng)問(wèn)docker中的mysql數(shù)據(jù)庫(kù)就需要使用服務(wù)器IP:32773來(lái)進(jìn)行訪(fǎng)問(wèn)。
使用命令
docker exec -it sick_hawking bash
連接到mysql鏡像中,
docker exec
是docker鏡像的連接命令,類(lèi)似于ssh一樣的命令,sick_hawking是鏡像的名字,鏡像每次啟動(dòng)都必須有一個(gè)名字,該名字可以手動(dòng)指定也可以自己生成。
連接成功以后,如下,

圖中就已經(jīng)進(jìn)入到了docker mysql鏡像中,使用
service mysql status
查看mysql的啟動(dòng)狀態(tài),如下,

mysql沒(méi)有啟動(dòng)可以使用
service mysql start
,如下,

輸入mysql驗(yàn)證mysql是否啟動(dòng)成功,如下,


到此為止,docker中的mysql已經(jīng)啟動(dòng)成功。
如何在外部使用root連接這個(gè)mysql?
為了安全,首先需要設(shè)置root帳號(hào)的密碼,如下
update user set authentication_string = password('root') where user = 'root';
將root的密碼改為root。 接著,由于mysql中root執(zhí)行綁定在了localhost,因此需要對(duì)root進(jìn)行授權(quán),代碼如下,
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
最后,使用navitecat測(cè)試mysql連接,如下,

連接成功,說(shuō)明docker中的mysql可以在局域網(wǎng)中使用。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)給各位iOS開(kāi)發(fā)者們能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- docker下修改mysql配置文件的方法
- 詳解利用Dockerfile構(gòu)建mysql鏡像并實(shí)現(xiàn)數(shù)據(jù)的初始化及權(quán)限設(shè)置
- 連接docker里面的mysql失敗解決方法
- Docker中部署mysql服務(wù)的方法及遇到的坑
- Docker安裝MySQL8.0的實(shí)現(xiàn)方法
- 完美解決docker安裝mysql后Navicat連接不上的問(wèn)題
- docker中mysql初始化及啟動(dòng)失敗問(wèn)題解決方案
- 淺析docker-compose部署mysql無(wú)法訪(fǎng)問(wèn)的問(wèn)題
- 遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案
相關(guān)文章
詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像
這篇文章主要介紹了詳解Docker學(xué)習(xí)之用commit命令創(chuàng)建鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
liunx內(nèi)存滿(mǎn)了,docker中overlay2爆表解決方案
這篇文章主要介紹了liunx內(nèi)存滿(mǎn)了,docker中overlay2爆表解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Dockerfile與.gitlab-ci.yml的關(guān)系以及構(gòu)建自動(dòng)化鏡像方式
GitLabCI/CDPipeline中構(gòu)建Docker鏡像的步驟如下:1.了解Dockerfile和.gitlab-ci.yml之間的關(guān)系;2.定義構(gòu)建Docker鏡像的階段;3.在階段中調(diào)用Dockerfile來(lái)構(gòu)建鏡像2024-11-11
Docker構(gòu)建Java鏡像并部署Java項(xiàng)目的完整步驟
這篇文章主要給大家介紹了關(guān)于Docker構(gòu)建Java鏡像并部署Java項(xiàng)目的完整步驟,Docker是一種容器化技術(shù),可以幫助開(kāi)發(fā)者輕松打包應(yīng)用程序和依賴(lài)項(xiàng),并在任何地方運(yùn)行它們,需要的朋友可以參考下2023-10-10
docker和docker-compose一鍵安裝教程(支持在線(xiàn)和離線(xiàn))
這篇文章主要介紹了docker和docker-compose一鍵安裝(支持在線(xiàn)和離線(xiàn)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問(wèn)題(避免踩坑)
這篇文章主要介紹了關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問(wèn)題,本文給大家?guī)?lái)了docker安裝方法及一些注意事項(xiàng),內(nèi)容有點(diǎn)小長(zhǎng),希望朋友們耐心看完,一定有收獲2021-05-05

