docker中使用mysql資料庫實現區域網訪問

2023-03-19 02:00:31 字數 1319 閱讀 8182

1.獲取mysql映象

docker pull mysql:5.6

注意:此處之所以獲取mysql5.6是因為mysql5.7在centos7中啟動可能會報錯

2.檢視映象列表

docker images

3.啟動mysql映象

docker run -itd -p mysql:5.6 bash

其中 docker run是啟動容器的命令;i是互動式操作,t是一個終端,d指的是在後臺執行,

-p指在本地生成一個隨機埠,用來對映mysql的3306埠,mysql指執行mysql映象,bash指建立一個互動式shell。

4.檢視已經執行的docker映象

docker ps -a

從圖中可以看到mysql映象的3306埠繫結了本地的32769埠,因此就說如果你要在區域網中訪問docker中的mysql資料庫就需要使用伺服器ip:32769來進行訪問。

5.連線到mysql映象中

docker exec -it relaxed_hodgkin bash

docker exec 是docker映象的連線命令,類似於ssh一樣的命令,relaxed_hodgkin是映象的名字,映象每次啟動都必須有一個名字,該名字可以手動指定也可以自己生成。

連線成功以後,如下圖,已經進入到了do程式設計客棧cker mysql映象中

6.檢視mysql的啟動狀態,如上圖就顯示mysql沒啟動

s程式設計客棧ervice mysql status

7.mysql沒有啟動可以使用以下命令啟動,如圖所示啟動成功

service mysql start

8.輸入mysql 驗證mysql是否啟動成功

到此為止,docker中的mysql已經啟動成功。

9.如何在外部使用root連線這個mysql? 為了安全,首先需要設定root帳號的密碼,如下

update user set authentication_string = password('root') where user = 'root';

這時會報以下錯誤

是因為沒有選擇資料庫,要在上面的命令之前執行下面這句,就可以將root的密碼改為root。

use mysql;

10.由於mysql中root執行繫結在了localhost,因此需要對root進行授權

grant all privileges on *.* to 'roo程式設計客棧t'@'%' identified by 'root' with grant option;

11.最後,使用sqlyog測試mysql連線,如下

連線成功,說明docker中的mysql可以在區域網中使用。

在 Docker 中使用 mysql 的一些技巧

今天我寫一點在 docker 容器中使用 mysql 的 tips.要不要在生產環境使用 docker 執行資料庫這麼深奧的問題,等我踩足夠的坑再來寫吧。但是至少在開發和測試環境你可以用 docker 管理資料庫啊。先貼一個我常用的 docker compose 片段,後邊進行詳細的解釋。這是日常使...

在Docker中使用mysql資料庫

docker中安裝mysql資料庫並啟動使用 安裝docker yum y install docker io在docker中搜尋映象檔案 以5.7為例 docker search mysql 5.7拉取映象 docker pull docker.io mysql執行容器 docker run d ...

Docker中使用redis資料庫

1 搜尋映象源 docker search redisdocker pull redis3 建立並啟動redis容器 對映埠才可以連線 當我們需要修改配置檔案時,我們只需要在宿主機上建立一個redis.conf檔案,並將該檔案對映到容器的 usr local etc redis redis.conf...

Django中使用MySQL資料庫

一 新建應用myweb 二 在mysql資料庫中建立資料庫 建立資料庫csvt 三 修改 setting.py檔案 django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions...

Docker中使用CentOS7映象

因後面會將作業系統從centos6.4升級到centos7,先試用下centos7。啟動容器服務systemctl start docker.service root wxtest1607 lixr docker images repository tag image id created size...

docker中使用systemd管理服務

docker執行一個容器起來的時候,有時也會想要像在物理機那樣使用 systemctl start status stop 來管理服務程序,但是在我用yum安裝了maridb server伺服器後,啟動的時候報錯了 root a1346fe8a351 swagger ui master system...

Docker中使用CentOS7映象

因後面會將作業系統從centos6.4升級到centos7,先試用下centos7。啟動容器服務systemctl start docker.service root wxtest1607 lixr docker images repository tag image id created size...

Docker中使用CentOS7映象

啟動容器服務 systemctl start docker service root wxtest1607 docker pull centos 7.2.1511 root wxtest1607 lixr docker images repository tagimage idcreated siz...

Ubuntu中使用docker安裝mongodb

前言 近段時間想要使用mongo存一些文字資料,正好前段時間學習了docker技術,當時只是草草的配置了下就直接去使用了。後來在使用中發現了一些問題,比如想要修改配置檔案每次都要進入容器,還有就是時間久了會忘記一些關鍵點。特趁天氣回暖,靜坐寫博。1.更新源 sudo apt get update s...