欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Docker部署MySQL數(shù)據(jù)庫的兩種方法

 更新時間:2024年10月16日 11:16:15   作者:琴劍飄零西復東  
在現(xiàn)代軟件開發(fā)中,MySQL 是一種流行的關系數(shù)據(jù)庫管理系統(tǒng),因其可靠性和易用性受到廣泛歡迎,通過 Docker,可以快速、便捷地部署和管理 MySQL 數(shù)據(jù)庫實例,本文將介紹兩種通過 Docker 部署 MySQL 的方法,需要的朋友可以參考下

引言

在現(xiàn)代軟件開發(fā)中,MySQL 是一種流行的關系數(shù)據(jù)庫管理系統(tǒng),因其可靠性和易用性受到廣泛歡迎。通過 Docker,可以快速、便捷地部署和管理 MySQL 數(shù)據(jù)庫實例。本文將介紹兩種通過 Docker 部署 MySQL 的方法:使用 Docker CLI 命令和使用 Docker Compose。

第一部分:通過 Docker CLI 命令部署 MySQL

1. 安裝 Docker

確保您的系統(tǒng)中已安裝 Docker。若未安裝,請參考 Docker 官方文檔 進行安裝。

2. 拉取 MySQL 鏡像

首先,使用以下命令從 Docker Hub 拉取 MySQL 8.0 鏡像:

docker pull mysql:8.0

3. 啟動 MySQL 容器

接下來,使用以下命令啟動 MySQL 容器:

docker run -d \
--name mysql-8.0 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=my_database \
-e MYSQL_USER=run \
-e MYSQL_PASSWORD=123456 \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_bin \
--lower_case_table_names=1
參數(shù)說明:
  • -d:以后臺模式運行容器。
  • --name mysql-8.0:指定容器名稱為 mysql-8.0。
  • -e:設置環(huán)境變量,配置 MySQL 的 root 密碼、默認數(shù)據(jù)庫名稱、用戶及其密碼。
  • -p 3306:3306:將主機的 3306 端口映射到容器的 3306 端口,以便外部訪問數(shù)據(jù)庫。
  • -v mysql-data:/var/lib/mysql:創(chuàng)建持久化卷,將容器中的數(shù)據(jù)存儲在主機上,確保數(shù)據(jù)不丟失。
  • 最后,指定了字符集和排序規(guī)則以優(yōu)化數(shù)據(jù)庫支持。

4. 驗證 MySQL 運行狀態(tài)

運行以下命令檢查容器是否已成功啟動:

docker ps

若容器列表中出現(xiàn) mysql-8.0,則表明部署成功。

5. 進入 MySQL 容器

您可以使用以下命令連接到 MySQL 數(shù)據(jù)庫:

docker exec -it mysql-8.0 mysql -uroot -p123456

第二部分:通過 Docker Compose 部署 MySQL

Docker Compose 允許用戶通過定義一個 docker-compose.yml 文件,方便地管理和啟動多個服務。以下是通過 Docker Compose 部署 MySQL 的步驟。

1. 創(chuàng)建 docker-compose.yml 文件

在您的工作目錄下,創(chuàng)建一個名為 docker-compose.yml 的文件,并輸入以下內(nèi)容:

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: my_database
      MYSQL_USER: run
      MYSQL_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    command:
      - mysqld
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_bin
      - --lower_case_table_names=1
    networks:
      - mysql-network

volumes:
  mysql-data:

networks:
  mysql-network:
    driver: bridge

2. docker-compose.yml 文件逐行解析

  • version: '3.8'
    指定 Docker Compose 文件的版本,3.8 適合大多數(shù)用戶。

  • services:
    定義在 Docker 中運行的服務。

  • mysql:
    指定服務的名稱,表示 MySQL 數(shù)據(jù)庫服務。

  • image: mysql:8.0
    使用 MySQL 8.0 鏡像,如果本地沒有此鏡像,Docker 會自動從 Docker Hub 下載。

  • container_name: mysql-8.0
    設置容器的名稱,便于管理和識別。

  • environment:
    設置 MySQL 的環(huán)境變量:

    • MYSQL_ROOT_PASSWORD:root 用戶的密碼。
    • MYSQL_DATABASE:初始化時創(chuàng)建的數(shù)據(jù)庫名稱。
    • MYSQL_USER 和 MYSQL_PASSWORD:創(chuàng)建一個新用戶及其密碼。
  • ports:
    將主機的 3306 端口映射到容器的 3306 端口,以便外部訪問數(shù)據(jù)庫。

  • volumes:
    將主機上的 mysql-data 卷掛載到容器的 /var/lib/mysql 目錄,確保數(shù)據(jù)的持久性。

  • command:
    指定 MySQL 啟動時的命令參數(shù),設置字符集和排序規(guī)則,以優(yōu)化數(shù)據(jù)庫的支持。

  • networks:
    定義容器使用的網(wǎng)絡,mysql-network 允許容器之間進行通信。

  • volumes:
    創(chuàng)建一個名為 mysql-data 的卷,用于數(shù)據(jù)持久化。

  • networks:
    創(chuàng)建一個名為 mysql-network 的橋接網(wǎng)絡,便于容器間的互聯(lián)。

3. 啟動 MySQL 服務

在 docker-compose.yml 文件所在的目錄,執(zhí)行以下命令啟動服務:

docker-compose up -d

4. 驗證服務狀態(tài)

使用以下命令查看運行中的容器:

docker-compose ps

確保 mysql-8.0 容器正在運行。

5. 進入 MySQL 容器

使用以下命令訪問 MySQL 數(shù)據(jù)庫:

docker exec -it mysql-8.0 mysql -uroot -p123456

6. 停止和移除容器

要停止并刪除容器,可以使用以下命令:

docker-compose down

總結

本文介紹了通過兩種方法在 Docker 中部署 MySQL 數(shù)據(jù)庫:通過 Docker CLI 命令和通過 Docker Compose 文件。每種方法都有其獨特的優(yōu)點,您可以根據(jù)項目需求和個人偏好選擇適合的方式。

附:完整的 docker-compose.yml 文件內(nèi)容

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: my_database
      MYSQL_USER: run
      MYSQL_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    command:
      - mysqld
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_bin
      - --lower_case_table_names=1
    networks:
      - mysql-network

volumes:
  mysql-data:

networks:
  mysql-network:
    driver: bridge

通過以上步驟,您可以快速在 Docker 中部署 MySQL 數(shù)據(jù)庫,確保開發(fā)環(huán)境的靈活性和一致性。

到此這篇關于使用Docker部署MySQL數(shù)據(jù)庫的兩種方法的文章就介紹到這了,更多相關Docker部署MySQL數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 教你使用docker查看運行中的容器

    教你使用docker查看運行中的容器

    這篇文章主要介紹了使用docker查看運行中的容器,本文內(nèi)容簡單給大家講解的很明白,對docker查看運行的容器相關知識感興趣的朋友一起看看吧
    2022-04-04
  • Docker每次啟動容器,IP及hosts指定的操作

    Docker每次啟動容器,IP及hosts指定的操作

    這篇文章主要介紹了Docker每次啟動容器,IP及hosts指定的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker鏡像alpine中安裝oracle客戶端

    docker鏡像alpine中安裝oracle客戶端

    這篇文章主要為大家介紹了docker鏡像alpine中安裝oracle客戶端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Docker方式安裝GitLab教程

    Docker方式安裝GitLab教程

    在Docker容器中安裝GitLab的步驟包括下載鏡像、配置數(shù)據(jù)目錄、啟動容器、獲取初始密碼并設置管理員密碼,GitLab鏡像不包含郵件傳輸代理,需額外配置
    2025-03-03
  • 一篇文章讓你搞清楚docker常用命令

    一篇文章讓你搞清楚docker常用命令

    這篇文章主要介紹了一篇文章讓你搞清楚docker常用命令的相關資料,需要的朋友可以參考下
    2022-11-11
  • Docker不同宿主機網(wǎng)絡打通的操作方案

    Docker不同宿主機網(wǎng)絡打通的操作方案

    這篇文章主要介紹了Docker不同宿主機網(wǎng)絡打通的方案?,本方式使用docker?Swarm集群的方式創(chuàng)建overlay?網(wǎng)絡進行打通,需要的朋友可以參考下
    2024-08-08
  • Docker 搭建lamp應用實例詳解

    Docker 搭建lamp應用實例詳解

    這篇文章主要介紹了Docker 搭建lamp應用實例詳解的相關資料,這里對搭建 LAMP的步驟做了詳細介紹,需要的朋友可以參考下
    2016-11-11
  • 如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù)

    如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù)

    本篇文章主要介紹了如何在Docker容器內(nèi)外互相拷貝數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Docker tomcat的設置內(nèi)存大小配置方式

    Docker tomcat的設置內(nèi)存大小配置方式

    這篇文章主要介紹了Docker tomcat的設置內(nèi)存大小配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • linux環(huán)境部署及docker安裝redis的方法

    linux環(huán)境部署及docker安裝redis的方法

    這篇文章主要介紹了linux環(huán)境部署及docker安裝redis的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論