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

如何在Docker中部署MySQL數(shù)據(jù)庫?

數(shù)據(jù)庫 MySQL
Docker為部署和測試應(yīng)用程序和數(shù)據(jù)庫提供了許多優(yōu)勢,這些應(yīng)用程序和數(shù)據(jù)庫是應(yīng)用程序不可或缺的一部分,因此很值得學(xué)習(xí)如何在Docker容器中部署和運(yùn)行數(shù)據(jù)庫。

 Docker為部署和測試應(yīng)用程序和數(shù)據(jù)庫提供了許多優(yōu)勢,這些應(yīng)用程序和數(shù)據(jù)庫是應(yīng)用程序不可或缺的一部分,因此很值得學(xué)習(xí)如何在Docker容器中部署和運(yùn)行數(shù)據(jù)庫。

本文中,我們會重點(diǎn)關(guān)注如下重點(diǎn):

為MySQL Docker容器創(chuàng)建Docker Compose YAML文件。

使用各種方法連接到在容器上運(yùn)行的MySQL數(shù)據(jù)庫。

在Docker容器中創(chuàng)建并運(yùn)行多個MySQL版本。

接下來,我們會逐一介紹這些。

1.為MySQL Docker容器創(chuàng)建Docker Compose YAML文件

首先,我們創(chuàng)建一個目錄——db-docker,然后在這個目錄中創(chuàng)建一個文件——docker-compose.yml。

  1. mkdir db-docker 
  2. cd db-docker 
  3. touch docker-compose.yml 

基本上,在這里,我們將指定我們將要使用的服務(wù)并設(shè)置與這些服務(wù)相關(guān)的環(huán)境變量。

我們將在本文中多次更改此文件。

在我們剛剛創(chuàng)建的docker-compose.yml文件中添加以下內(nèi)容:

  1. version: '3' 
  2.  
  3. services: 
  4.  
  5.  mysql-development: 
  6.  image: mysql:8.0.17 
  7.  environment: 
  8.  MYSQL_ROOT_PASSWORD: helloworld 
  9.  MYSQL_DATABASE: testapp 
  10.  ports: 
  11.  - "3308:3306" 

我們將MySQL容器的名稱指定為mysql-development,要使用的Docker鏡像是mysql:8.0.17。 如果不將tag指定為8.0.17,則將采用最新的tag。

接下來我們需要指定的是環(huán)境變量,即用戶,密碼和數(shù)據(jù)庫。 如果您未指定用戶,則默認(rèn)情況下它將為root。

我們將使用helloworld作為密碼,使用testapp作為數(shù)據(jù)庫。

另一個重要的是端口映射。 3308:3306表示在端口3306的容器中運(yùn)行的MySQL映射到端口3308的主機(jī)的本地主機(jī)。您也可以使用不同的端口。

現(xiàn)在,在創(chuàng)建.yml文件之后,我們需要在.yml文件所在的同一目錄中運(yùn)行以下命令:

  1. docker-compose up 

這將拉取Docker鏡像(如果鏡像在本地不存在,它將從Docker Hub拉出)然后運(yùn)行容器。

我們可以通過如下命令查看狀態(tài):

  1. docker-compose ps 
「Docker系列」 如何在Docker中部署MySQL數(shù)據(jù)庫?

這將顯示容器的名稱,命令和容器的狀態(tài),例如,它顯示容器正在運(yùn)行。 它還顯示了端口映射。

在下一步中,我們將連接到此MySQL容器并運(yùn)行一些命令。

2.連接到Container中運(yùn)行的MySQL數(shù)據(jù)庫

我們將討論在Docker容器中運(yùn)行的MySQL上連接和運(yùn)行SQL命令的兩種方法。

第一種方法是使用像MySQL Workbench這樣的工具(也可以使用DataGrip)。

現(xiàn)在我們得MySQL容器映射到宿主機(jī)得端口為3308,我們可以使用如下配置參數(shù)連接:

「Docker系列」 如何在Docker中部署MySQL數(shù)據(jù)庫?

由于端口映射,只能通過宿主機(jī)的端口3308進(jìn)行連接。

如果我們想連接到容器化的MySQL,不通過映射端口,即來自在同一個Docker網(wǎng)絡(luò)上運(yùn)行的另一個應(yīng)用程序,我們必須使用像Adminer這樣的工具,這是我們的另一種方法。

Adminer是一個基于PHP的Web應(yīng)用程序,用于訪問數(shù)據(jù)庫。

現(xiàn)在,我們將在docker-compose.yml文件中添加另一項(xiàng)服務(wù)——Adminer。 但是,在我們進(jìn)行更改之前,我們需要停止運(yùn)行容器并使用以下命令將其刪除:

  1. docker-compose down 

讓我們在docker-compose.yml文件中添加以下內(nèi)容:

  1. version: '3' 
  2. services: 
  3.  mysql-development: 
  4.  image: mysql:8.0.17 
  5.  environment: 
  6.  MYSQL_ROOT_PASSWORD: helloworld 
  7.  MYSQL_DATABASE: testapp 
  8.  ports: 
  9.  - "3308:3306" 
  10.   
  11.  admin:  
  12.  image: adminer  
  13.  ports:  
  14.  - "8080:8080" 

現(xiàn)在,我們再次啟動Docker 容器:

  1. docker-compose up 

運(yùn)行此操作后,將拉取Adminer的鏡像,并啟動MySQL和Adminer的容器。

我們可以使用docker-compose ps檢查狀態(tài)。

現(xiàn)在,我們可以訪問我們的瀏覽器并轉(zhuǎn)到localhost:8080 來訪問Adminer。 由于Adminer運(yùn)行在與MySQL相同的Docker網(wǎng)絡(luò)上,它可以通過端口3306(或簡單地通過容器名稱)訪問MySQL容器。

注意:我們無法在Adminer中通過端口3308訪問MySQL容器,因?yàn)檫@將嘗試訪問Docker Compose網(wǎng)絡(luò)的端口3308,而不是宿主機(jī)上的3308端口。

「Docker系列」 如何在Docker中部署MySQL數(shù)據(jù)庫?

我們還可以在MySQL命令行界面中輸入以下命令:

  1. docker-compose exec mysql-development mysql -uroot -phelloworld testapp 

3.在Docker容器中創(chuàng)建并運(yùn)行MySQL的

  1. version: '3' 
  2. services: 
  3.  mysql-development: 
  4.  image: mysql:8.0.17 
  5.  environment: 
  6.  MYSQL_ROOT_PASSWORD: helloworld 
  7.  MYSQL_DATABASE: testapp 
  8.  ports: 
  9.  - "3308:3306" 
  10.   
  11.  admin:  
  12.  image: adminer  
  13.  ports:  
  14.  - "8080:8080" 
  15.  mysql-old: 
  16.  image: mysql:5.7.27 
  17.  environment: 
  18.  MYSQL_ROOT_PASSWORD: helloworld 
  19.  MYSQL_DATABASE: coolapp 
  20.  ports: 
  21.  - "3309:3306" 

總結(jié)

上述是個簡單得MySQL容器化小案例。希望給大家?guī)睃c(diǎn)啟發(fā)。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2022-01-17 08:36:46

MySQLAmazon RDS 數(shù)據(jù)庫

2021-12-03 23:21:45

數(shù)據(jù)庫MySQLKubernetes

2020-11-13 09:22:32

Docker數(shù)據(jù)庫容器

2009-01-19 09:14:31

.NETMySQLMySql驅(qū)動包

2011-03-03 10:00:14

ProFTPD建立MySQL

2009-07-07 14:56:33

JSP連接MySQL

2009-06-01 09:57:43

netbeans連接數(shù)netbeans數(shù)據(jù)庫netbeans連接m

2020-10-21 10:16:03

AI保護(hù)公共安全?

2021-08-06 13:46:29

人工智能AI深度學(xué)習(xí)

2018-03-09 10:07:34

mysql

2022-04-22 09:20:06

FreeBSD 13MySQL數(shù)據(jù)庫

2011-03-28 11:21:17

MySQL數(shù)據(jù)庫儲存圖片

2025-05-20 08:53:46

MySQLDocker數(shù)據(jù)庫

2011-07-29 11:20:51

MySQL數(shù)據(jù)庫字段重復(fù)

2009-04-16 19:08:55

2024-07-30 08:00:00

Kubernetes數(shù)據(jù)庫

2011-07-26 14:34:28

openSUSEpostgresql

2009-07-24 10:41:00

asp.net mvc

2023-09-05 08:40:57

刪除數(shù)據(jù)庫Oracle
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩一区二区三区精品 | 国产欧美一区二区三区国产幕精品 | 亚洲福利| 超碰91在线 | 欧美一区二区三区四区视频 | 人人干人人看 | 欧美日韩国产欧美 | 国产精品欧美日韩 | 一区二区三区韩国 | 精品国产一区二区三区免费 | 精品免费视频 | 九九九视频在线 | 久久综合一区 | 欧美中文字幕一区 | 精品av | 亚洲免费在线视频 | 亚洲午夜精品一区二区三区 | 久久综合狠狠综合久久综合88 | 黄色网络在线观看 | 亚洲精品久久久久久一区二区 | 最新免费视频 | 亚洲 欧美 激情 另类 校园 | 国产精品福利一区二区三区 | 亚洲国产精品99久久久久久久久 | 日本一区二区三区免费观看 | 国产蜜臀 | 久在线观看 | 中文字幕一区二区三区四区不卡 | 国产精品美女久久久免费 | 夜夜精品浪潮av一区二区三区 | 99视频免费在线 | 国产专区在线 | 狠狠久| 久久一区二区视频 | 日韩电影中文字幕 | 国产日韩欧美精品一区二区 | 色吊丝2 | 一区二区久久精品 | 久草在线高清 | 日本超碰 | 免费观看一级毛片 |