成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker 系列教程:輕松在 Docker 容器中運行 MySQL 圖文指南

系統 Linux MySQL
本指南逐步解釋了如何在幾分鐘內設置在 Docker 容器中運行新的 MySQL 服務器。

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

本指南逐步解釋了如何在幾分鐘內設置在 Docker 容器中運行新的 MySQL 服務器。

Docker 的一大優點是您可以快速使用它來試用應用程序,而無需直接在您的機器上安裝它。您可以使用 Docker 在容器中運行數據庫,就像它是遠程服務器一樣,并測試您的應用程序如何與其交互。

使用 Docker 容器運行 MySQL 是一種廣泛使用的機制。事實上,MySQL 是與 Docker 容器一起使用的最流行的數據庫之一。

要將 MySQL 創建為 Docker 容器,主機應安裝 Docker。如果你沒有安裝它,這里有一個如何在 Ubuntu 上安裝 Docker 的分步指南。(見:https://www.linuxmi.com/ubuntu-docker-zhinan.html )

1. 拉取 MySQL Docker 鏡像

要在 Docker 中創建和測試 MySQL 服務器,您要做的第一件事是從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,請替換 latest 為版本號。

您可以運行該docker images 命令來查看從 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 

如您所見,MySQL 映像現在可用于我們本地安裝的 Docker。

2. 設置 Docker數據卷(Volume)

如您所知,Docker 容器原則上是短暫的,如果容器被刪除,任何數據或配置都可能會丟失。然而,Docker Volume提供了一種機制來保存在 Docker 容器內創建的數據。它們是 Docker 用于存儲 Docker 容器持久數據的首選機制。

默認情況下,MySQL 將其數據文件存儲在該 /var/lib/mysql 目錄中。因此,在部署之前,您需要設置一個 Docker Volume來持久化您的數據庫。否則,當容器重新啟動時,您的數據將丟失。

讓我們創建一個新Volume并將其命名為mysql-data。這將用于存儲您的所有數據庫信息。 

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

您可以通過發出以下命令列出 Docker 已知的所有數據卷: 

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

輸出 

  1. DRIVER    VOLUME NAME  
  2. local     mysql-data 

如下圖:

如您所見,我們新創建的名為 Docker 的數據卷mysql-data在這里并準備好提供數據。然后可以將其附加到新創建的 MySQL 容器。

3. 運行一個 MySQL Docker 容器

現在您的機器上有 MySQL Docker 映像和一個用于保存數據的Volume,您可以部署一個容器。您還必須使用MYSQL_ROOT_PASSWORD環境變量為 MySQL root 用戶設置密碼。

現在,讓我們運行容器: 

  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。這將啟動最新版本的 MySQL 實例,可以使用指定的 root 密碼從任何地方遠程訪問它。

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

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

您可以通過列出正在運行的容器來檢查容器是否正在運行: 

  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 容器

您可以通過附加到容器并運行mysql命令來獲得交互式 MySQL shell 。這提供了完整的 MySQL 命令行界面,因此您可以使用所有熟悉的命令和標志。 

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

mysql 如果您的主機上預安裝了它,您還可以使用客戶端連接 MySQL Docker 實例 。

請注意,默認情況下,當您告訴 mysql 客戶端連接到 localhost. 所以一定要使用 127.0.0.1 而不是 localhost。 

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

當然,您也可以使用基于 GUI 的客戶端(例如 MySQL Workbench)來連接數據庫。在 MySQL Workbench 中為“Hostname”指定啟動 Docker 容器的機器的 IP 地址。

相關:如何使用 MySQL Workbench 在 MySQL 中創建數據庫 (見:https://www.linuxmi.com/ubuntu-20-04-mysql-workbench.html

當然,在上面顯示的主機名示例中,您可以使用 MySQL docker 容器所在機器的 IP 地址而不是127.0.0.1. 您可以通過運行ifconfig不帶任何參數的命令來找到該地址。

使用機器的 IP 地址可以讓您遠程訪問 MySQL 服務器。

5. 停止、啟動和重啟 MySQL 容器

此命令將暫時停止正在運行的 MySQL 容器(并且可以稍后恢復/重新啟動): 

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

要啟動MySQL 容器,請運行: 

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

下面的命令用于重啟正在運行的 MySQL 容器: 

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

結論

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

如果您有任何問題或建議,請告訴我。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2016-10-31 15:33:57

DockerMySQL容器管理

2021-05-12 09:13:48

MySQL數據庫Docker搭建

2020-09-19 18:03:42

Docker

2015-06-15 10:40:50

Docker應用程序遷移

2014-05-07 10:04:57

DockerLinux容器Ubuntu

2014-07-07 09:49:13

UbuntuDocker

2016-01-11 10:29:36

Docker容器容器技術

2021-05-11 08:00:00

Docker容器開發

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開發容器

2019-07-15 16:00:24

Docker架構容器

2019-07-15 10:00:53

DockerJava容器

2021-12-27 11:10:22

DockerrootLinux

2022-03-10 08:24:17

Docker容器SaaS

2011-03-04 15:21:12

FileZilla

2014-05-26 09:13:46

DockerPython

2014-10-11 11:30:43

CentOSDocker

2014-06-03 09:55:34

DockerLinux容器Ubuntu
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久伊人精品一区二区三区 | 欧洲国产精品视频 | 国产精品99久久久精品免费观看 | 综合一区二区三区 | 成人在线视频免费看 | 在线免费看黄 | 一区二区三区四区国产精品 | 天天干天天干 | 久色| 欧美性网站 | 国产精品福利视频 | 偷拍自拍第一页 | 亚洲一区二区三区视频免费观看 | 成人不卡| 日韩精品在线播放 | 看真人视频一级毛片 | 国产精产国品一二三产区视频 | 精品无码三级在线观看视频 | 男女羞羞免费网站 | 久久精品国产亚洲a | 久热久热| 欧美成人免费电影 | 国产欧美一区二区久久性色99 | 国产精品99久久久久久人 | 成人国内精品久久久久一区 | 午夜视频在线免费观看 | 成人免费在线观看视频 | 国产一区在线免费观看 | 91中文在线观看 | 91精品国模一区二区三区 | 亚洲视频国产 | 久久久免费电影 | 久久久久久国产精品 | 日韩视频一区二区三区 | 中文字幕在线不卡 | 91在线精品视频 | 亚洲精品在线免费观看视频 | 中文字幕a√ | 久草免费电影 | 日韩中文字幕一区二区 | 亚洲成人一区二区在线 |