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

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

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

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

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

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

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

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

1. 拉取 MySQL Docker 鏡像

要在 Docker 中創(chuàng)建和測試 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,請?zhí)鎿Q 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 映像現(xiàn)在可用于我們本地安裝的 Docker。

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

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

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

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

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

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

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

輸出 

  1. DRIVER    VOLUME NAME  
  2. local     mysql-data 

如下圖:

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

3. 運行一個 MySQL Docker 容器

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

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

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

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

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

  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 命令行界面,因此您可以使用所有熟悉的命令和標(biāo)志。 

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

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

請注意,默認(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)來連接數(shù)據(jù)庫。在 MySQL Workbench 中為“Hostname”指定啟動 Docker 容器的機器的 IP 地址。

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

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

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

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

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

  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 

結(jié)論

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

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

 

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

2016-10-31 15:33:57

DockerMySQL容器管理

2021-05-12 09:13:48

MySQL數(shù)據(jù)庫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容器開發(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開發(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宿主命令
點贊
收藏

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

主站蜘蛛池模板: 成人免费视频观看 | 欧美久久精品一级黑人c片 91免费在线视频 | 金莲网 | 在线观看成人 | 日韩一区二区三区在线看 | 免费一区二区三区 | 黄色在线观看网站 | 日本不卡一区 | 亚洲精选久久 | 一区二区三区中文字幕 | 96国产精品久久久久aⅴ四区 | www久久久| 日韩国产欧美一区 | 97免费视频在线观看 | 99精品热视频 | 色免费看 | 亚洲成人国产综合 | 在线观看视频你懂得 | 亚洲三区在线 | 三级视频久久 | 人人干人人干人人干 | 91精品一区二区三区久久久久久 | 国产精品久久九九 | 二区在线视频 | 亚洲视频区| 一区视频 | 免费av一区二区三区 | 免费看欧美一级片 | 日韩在线精品强乱中文字幕 | 欧美vide| 成年人在线观看视频 | 久久久久久国产精品mv | 黄色片大全在线观看 | 色偷偷噜噜噜亚洲男人 | 国产欧美在线播放 | 欧美二区三区 | 九九在线视频 | 天天草视频 | 中文在线一区二区 | 国产精品国产三级国产aⅴ中文 | 一区二区三区免费 |