最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

引言

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

第一部分:通過(guò) Docker CLI 命令部署 MySQL

1. 安裝 Docker

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

2. 拉取 MySQL 鏡像

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

docker pull mysql:8.0

3. 啟動(dòng) MySQL 容器

接下來(lái),使用以下命令啟動(dòng) 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ù)說(shuō)明:
  • -d:以后臺(tái)模式運(yùn)行容器。
  • --name mysql-8.0:指定容器名稱為 mysql-8.0。
  • -e:設(shè)置環(huán)境變量,配置 MySQL 的 root 密碼、默認(rèn)數(shù)據(jù)庫(kù)名稱、用戶及其密碼。
  • -p 3306:3306:將主機(jī)的 3306 端口映射到容器的 3306 端口,以便外部訪問(wèn)數(shù)據(jù)庫(kù)。
  • -v mysql-data:/var/lib/mysql:創(chuàng)建持久化卷,將容器中的數(shù)據(jù)存儲(chǔ)在主機(jī)上,確保數(shù)據(jù)不丟失。
  • 最后,指定了字符集和排序規(guī)則以優(yōu)化數(shù)據(jù)庫(kù)支持。

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

運(yùn)行以下命令檢查容器是否已成功啟動(dòng):

docker ps

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

5. 進(jìn)入 MySQL 容器

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

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

第二部分:通過(guò) Docker Compose 部署 MySQL

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

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

在您的工作目錄下,創(chuàng)建一個(gè)名為 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 中運(yùn)行的服務(wù)。

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

  • image: mysql:8.0
    使用 MySQL 8.0 鏡像,如果本地沒(méi)有此鏡像,Docker 會(huì)自動(dòng)從 Docker Hub 下載。

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

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

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

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

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

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

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

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

3. 啟動(dòng) MySQL 服務(wù)

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

docker-compose up -d

4. 驗(yàn)證服務(wù)狀態(tài)

使用以下命令查看運(yùn)行中的容器:

docker-compose ps

確保 mysql-8.0 容器正在運(yùn)行。

5. 進(jìn)入 MySQL 容器

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

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

6. 停止和移除容器

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

docker-compose down

總結(jié)

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

附:完整的 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

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

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

相關(guān)文章

  • 解決docker pull鏡像報(bào)錯(cuò)的問(wèn)題

    解決docker pull鏡像報(bào)錯(cuò)的問(wèn)題

    這篇文章主要介紹了解決docker pull鏡像報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • docker build上下文的實(shí)現(xiàn)示例

    docker build上下文的實(shí)現(xiàn)示例

    Docker build上下文是構(gòu)建Docker鏡像時(shí)傳遞給Docker引擎的所有文件和目錄的集合,可以提高構(gòu)建效率,避免無(wú)用文件的傳輸,同時(shí)確保鏡像構(gòu)建過(guò)程的順利進(jìn)行,感興趣的可以了解一下
    2025-09-09
  • docker容器日志占滿硬盤(pán)空間的問(wèn)題解決

    docker容器日志占滿硬盤(pán)空間的問(wèn)題解決

    由于默認(rèn)情況下,docker使用json-file類型的日志驅(qū)動(dòng),該日志驅(qū)動(dòng)默認(rèn)情況下,每個(gè)容器的日志會(huì)一直追加在文件名為 containerId-json.log文件中,因此在容器不重建的情況下,該日志文件會(huì)一直追加內(nèi)容,直到占滿整個(gè)服務(wù)器硬盤(pán)空間,本文就來(lái)介紹一下解決方法
    2023-09-09
  • 使用Docker compose編排Laravel應(yīng)用的方法

    使用Docker compose編排Laravel應(yīng)用的方法

    本篇文章主要介紹了使用Docker compose編排Laravel應(yīng)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 使用GoogleContainerTools容器化jib構(gòu)建docker鏡像

    使用GoogleContainerTools容器化jib構(gòu)建docker鏡像

    這篇文章主要教大家如何使用GoogleContainerTools容器化jib構(gòu)建docker鏡像的實(shí)現(xiàn),有需要的的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Docker Desktop 安裝使用教程(圖文步驟)

    Docker Desktop 安裝使用教程(圖文步驟)

    Docker是一種打包和運(yùn)行應(yīng)用程序的新方式. Docker Desktop是 Docker的Windows桌面版本,本文主要介紹了Docker Desktop安裝使用教程,感興趣的可以了解一下
    2024-02-02
  • Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例

    Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例

    這篇文章主要介紹了Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例,本文通過(guò)場(chǎng)景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 詳解使用Docker容器來(lái)源碼編譯etcd

    詳解使用Docker容器來(lái)源碼編譯etcd

    這篇文章主要介紹了詳解使用Docker容器來(lái)源碼編譯etcd,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Docker系統(tǒng)空間占用過(guò)大的清理方法詳解

    Docker系統(tǒng)空間占用過(guò)大的清理方法詳解

    在日常使用 Docker 的過(guò)程中,我們經(jīng)常會(huì)發(fā)現(xiàn)服務(wù)器磁盤(pán)空間莫名其妙地被占滿,特別是 /var/lib/docker/overlay2 目錄動(dòng)輒幾十個(gè) G,下面我們就來(lái)看看如何清理吧
    2025-11-11
  • Docker鏡像拉取超時(shí)或失敗的解決方法介紹

    Docker鏡像拉取超時(shí)或失敗的解決方法介紹

    在使用Docker進(jìn)行容器化應(yīng)用開(kāi)發(fā)時(shí),拉取鏡像是一個(gè)常見(jiàn)的操作,本文將探討Docker鏡像拉取失敗的原因及其解決方案,有需要的小伙伴可以參考一下
    2025-05-05

最新評(píng)論

大英县| 威海市| 峨眉山市| 广水市| 承德市| 平邑县| 江门市| 长治市| 读书| 高陵县| 垫江县| 东阿县| 七台河市| 东乌珠穆沁旗| 会昌县| 尉氏县| 景宁| 龙陵县| 邯郸市| 湖口县| 深圳市| 天水市| 封丘县| 梅州市| 新建县| 增城市| 郴州市| 尉氏县| 会理县| 陕西省| 南汇区| 邵阳市| 聊城市| 徐州市| 务川| 富宁县| 海丰县| 凌源市| 二连浩特市| 松溪县| 德安县|