偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Docker 系列教程:輕松在 Docker 容器中運(yùn)行 MySQL 圖文指南

系統(tǒng) Linux MySQL
本指南逐步解釋了如何在幾分鐘內(nèi)設(shè)置在 Docker 容器中運(yùn)行新的 MySQL 服務(wù)器。

 Docker 已成為流行的 DevOps 工具,您可能需要知道如何在 Docker 容器中運(yùn)行 MySQL。

本指南逐步解釋了如何在幾分鐘內(nèi)設(shè)置在 Docker 容器中運(yùn)行新的 MySQL 服務(wù)器。

Docker 的一大優(yōu)點(diǎn)是您可以快速使用它來(lái)試用應(yīng)用程序,而無(wú)需直接在您的機(jī)器上安裝它。您可以使用 Docker 在容器中運(yùn)行數(shù)據(jù)庫(kù),就像它是遠(yuǎn)程服務(wù)器一樣,并測(cè)試您的應(yīng)用程序如何與其交互。

使用 Docker 容器運(yùn)行 MySQL 是一種廣泛使用的機(jī)制。事實(shí)上,MySQL 是與 Docker 容器一起使用的最流行的數(shù)據(jù)庫(kù)之一。

要將 MySQL 創(chuàng)建為 Docker 容器,主機(jī)應(yīng)安裝 Docker。如果你沒(méi)有安裝它,這里有一個(gè)如何在 Ubuntu 上安裝 Docker 的分步指南。(見(jiàn):https://www.linuxmi.com/ubuntu-docker-zhinan.html )

1. 拉取 MySQL Docker 鏡像

要在 Docker 中創(chuàng)建和測(cè)試 MySQL 服務(wù)器,您要做的第一件事是從Docker Hub拉取 MySQL 官方鏡像 。

您可以下載特定版本,例如 8.0、5.7、5.6,或選擇最新版本,如以下命令所示: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker pull mysql:latest  
  2. [sudo] linuxmi 的密碼:  
  3. latest: Pulling from library/mysql  
  4. 72a69066d2fe: Pull complete   
  5. 93619dbc5b36: Pull complete   
  6. 99da31dd6142: Pull complete   
  7. 626033c43d70: Pull complete   
  8. 37d5d7efb64e: Pull complete   
  9. ac563158d721: Pull complete   
  10. d2ba16033dad: Pull complete 
  11. 688ba7d5c01a: Pull complete   
  12. 00e060b6d11d: Pull complete   
  13. 1c04857f594f: Pull complete   
  14. 4d7cfa90e6ea: Pull complete   
  15. e0431212d27d: Pull complete   
  16. Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709  
  17. Status: Downloaded newer image for mysql:latest  
  18. docker.io/library/mysql:latest docker pull mysql:latest 

如果您需要特定版本的 MySQL,請(qǐng)?zhí)鎿Q latest 為版本號(hào)。

您可以運(yùn)行該docker images 命令來(lái)查看從 Docker Hub 中提取的 Docker 鏡像列表。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker images  
  2. 輸出  
  3. REPOSITORY   TAG       IMAGE ID       CREATED        SIZE  
  4. mysql        latest    3218b38490ce   23 hours ago   516MB 

如您所見(jiàn),MySQL 映像現(xiàn)在可用于我們本地安裝的 Docker。

2. 設(shè)置 Docker數(shù)據(jù)卷(Volume)

如您所知,Docker 容器原則上是短暫的,如果容器被刪除,任何數(shù)據(jù)或配置都可能會(huì)丟失。然而,Docker Volume提供了一種機(jī)制來(lái)保存在 Docker 容器內(nèi)創(chuàng)建的數(shù)據(jù)。它們是 Docker 用于存儲(chǔ) Docker 容器持久數(shù)據(jù)的首選機(jī)制。

默認(rèn)情況下,MySQL 將其數(shù)據(jù)文件存儲(chǔ)在該 /var/lib/mysql 目錄中。因此,在部署之前,您需要設(shè)置一個(gè) Docker Volume來(lái)持久化您的數(shù)據(jù)庫(kù)。否則,當(dāng)容器重新啟動(dòng)時(shí),您的數(shù)據(jù)將丟失。

讓我們創(chuàng)建一個(gè)新Volume并將其命名為mysql-data。這將用于存儲(chǔ)您的所有數(shù)據(jù)庫(kù)信息。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker volume create mysql-data  
  2. mysql-data 

您可以通過(guò)發(fā)出以下命令列出 Docker 已知的所有數(shù)據(jù)卷: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker volume ls 

輸出 

  1. DRIVER    VOLUME NAME  
  2. local     mysql-data 

如下圖:

如您所見(jiàn),我們新創(chuàng)建的名為 Docker 的數(shù)據(jù)卷mysql-data在這里并準(zhǔn)備好提供數(shù)據(jù)。然后可以將其附加到新創(chuàng)建的 MySQL 容器。

3. 運(yùn)行一個(gè) MySQL Docker 容器

現(xiàn)在您的機(jī)器上有 MySQL Docker 映像和一個(gè)用于保存數(shù)據(jù)的Volume,您可以部署一個(gè)容器。您還必須使用MYSQL_ROOT_PASSWORD環(huán)境變量為 MySQL root 用戶設(shè)置密碼。

現(xiàn)在,讓我們運(yùn)行容器: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker run -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password mysql 

輸出 

  1. 0ef0b05cce690b44da538291781f4885702074d4b63a7a293fe71dcdd3f69695 

OK。這將啟動(dòng)最新版本的 MySQL 實(shí)例,可以使用指定的 root 密碼從任何地方遠(yuǎn)程訪問(wèn)它。

為了讓事情更清楚,讓我們分解這個(gè)語(yǔ)法。以下是該命令中每個(gè)參數(shù)的含義:

  •  -d 將以分離模式運(yùn)行此容器,以便它在后臺(tái)運(yùn)行。
  •  --name 將名稱分配mysql-server給您的容器實(shí)例。如果不指定此項(xiàng),Docker 將生成一個(gè)隨機(jī)名稱。
  •  -p 將 MySQL 容器端口綁定3306到主機(jī)上的相同端口。您將能夠 使用在您的主機(jī)上運(yùn)行的MySQL 客戶端 ( )連接到 127.0.0.1端口。3306mysql
  •  -v 選項(xiàng)將容器卷 ( /var/lib/mysql)內(nèi)的數(shù)據(jù)文件夾綁定到mysql-data您在上一步中創(chuàng)建的本地 Docker 卷 ( )。
  •  -e 設(shè)置環(huán)境變量。在這種情況下,MySQL 根密碼。
  •  mysql 是我們用來(lái)創(chuàng)建容器的映像的名稱。

您可以通過(guò)列出正在運(yùn)行的容器來(lái)檢查容器是否正在運(yùn)行: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker ps 

輸出 

  1. CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS                                                  NAMES  
  2. 0ef0b05cce69   mysql     "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql-server 

4. 連接到 MySQL 容器

您可以通過(guò)附加到容器并運(yùn)行mysql命令來(lái)獲得交互式 MySQL shell 。這提供了完整的 MySQL 命令行界面,因此您可以使用所有熟悉的命令和標(biāo)志。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker exec -it mysql-server mysql -u root -p 

mysql 如果您的主機(jī)上預(yù)安裝了它,您還可以使用客戶端連接 MySQL Docker 實(shí)例 。

請(qǐng)注意,默認(rèn)情況下,當(dāng)您告訴 mysql 客戶端連接到 localhost. 所以一定要使用 127.0.0.1 而不是 localhost。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ mysql -u root -h 127.0.0.1 -p 

當(dāng)然,您也可以使用基于 GUI 的客戶端(例如 MySQL Workbench)來(lái)連接數(shù)據(jù)庫(kù)。在 MySQL Workbench 中為“Hostname”指定啟動(dòng) Docker 容器的機(jī)器的 IP 地址。

相關(guān):如何使用 MySQL Workbench 在 MySQL 中創(chuàng)建數(shù)據(jù)庫(kù) (見(jiàn):https://www.linuxmi.com/ubuntu-20-04-mysql-workbench.html

當(dāng)然,在上面顯示的主機(jī)名示例中,您可以使用 MySQL docker 容器所在機(jī)器的 IP 地址而不是127.0.0.1. 您可以通過(guò)運(yùn)行ifconfig不帶任何參數(shù)的命令來(lái)找到該地址。

使用機(jī)器的 IP 地址可以讓您遠(yuǎn)程訪問(wèn) MySQL 服務(wù)器。

5. 停止、啟動(dòng)和重啟 MySQL 容器

此命令將暫時(shí)停止正在運(yùn)行的 MySQL 容器(并且可以稍后恢復(fù)/重新啟動(dòng)): 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker stop mysql-server 

要啟動(dòng)MySQL 容器,請(qǐng)運(yùn)行: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker start mysql-server 

下面的命令用于重啟正在運(yùn)行的 MySQL 容器: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo docker restart mysql-server 

結(jié)論

如您所見(jiàn),在 Docker 中運(yùn)行 MySQL 比在本地安裝 MySQL Server 更快、更容易。如果您打算在 Docker 上使用 MySQL 進(jìn)行測(cè)試以外的任何事情,還有很多事情需要考慮。有關(guān)更多信息,您可以查看Docker Hub 上的 MySQL 頁(yè)面和有關(guān)該主題的官方 MySQL 手冊(cè)。

如果您有任何問(wèn)題或建議,請(qǐng)告訴我。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2016-10-31 15:33:57

DockerMySQL容器管理

2021-05-12 09:13:48

MySQL數(shù)據(jù)庫(kù)Docker搭建

2020-09-19 18:03:42

Docker

2015-06-15 10:40:50

Docker應(yīng)用程序遷移

2014-07-07 09:49:13

UbuntuDocker

2014-05-07 10:04:57

DockerLinux容器Ubuntu

2016-01-11 10:29:36

Docker容器容器技術(shù)

2021-05-11 08:00:00

Docker容器開(kāi)發(fā)

2021-11-16 23:20:44

Windows 10Windows微軟

2020-07-20 18:30:44

Fedora 32DockerLinux

2014-09-24 09:31:31

Dockersshd

2021-12-12 22:20:47

Docker開(kāi)發(fā)容器

2019-07-15 10:00:53

DockerJava容器

2021-12-27 11:10:22

DockerrootLinux

2019-07-15 16:00:24

Docker架構(gòu)容器

2014-05-26 09:13:46

DockerPython

2014-06-03 09:55:34

DockerLinux容器Ubuntu

2010-05-21 15:23:25

ipadSAP

2022-03-10 08:24:17

Docker容器SaaS

2022-07-26 07:14:52

Docker宿主命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)