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

docker-compose安裝MySQL8.0.39全過(guò)程

 更新時(shí)間:2025年10月24日 09:18:47   作者:會(huì)飛的土撥鼠呀  
這篇文章主要介紹了docker-compose安裝MySQL8.0.39全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

好的,這是一個(gè)使用 Docker Compose 安裝 MySQL 8.0.39 的詳細(xì)指南,包含數(shù)據(jù)持久化、自定義配置和基本安全設(shè)置。

1. 創(chuàng)建項(xiàng)目目錄

首先,創(chuàng)建一個(gè)獨(dú)立的目錄來(lái)存放所有相關(guān)文件,避免與其他項(xiàng)目混淆。

mkdir mysql-docker
cd mysql-docker

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

這是核心配置文件,定義了MySQL服務(wù)、卷、端口映射等。

version: '3.8'

services:
  mysql:
    image: mysql:8.0.39  # 指定精確版本
    container_name: mysql-8.0.39-container  # 自定義容器名,便于管理
    restart: unless-stopped  # 總是重啟,除非手動(dòng)停止
    environment:
      MYSQL_ROOT_PASSWORD: your_strong_root_password  # ?。?!務(wù)必修改!??!
      MYSQL_DATABASE: my_app_db  # 可選:容器啟動(dòng)時(shí)創(chuàng)建的數(shù)據(jù)庫(kù)
      MYSQL_USER: my_app_user    # 可選:創(chuàng)建普通用戶(hù)
      MYSQL_PASSWORD: your_strong_user_password  # ?。?!務(wù)必修改!?。?
      TZ: Asia/Shanghai          # 可選:設(shè)置容器時(shí)區(qū)
    ports:
      - "3306:3306"  # 將宿主機(jī)的3306端口映射到容器的3306端口
    volumes:
      - mysql_data:/var/lib/mysql  # 持久化數(shù)據(jù)
      - ./conf/my.cnf:/etc/mysql/conf.d/custom.cnf  # 掛載自定義配置文件
      - ./logs:/var/log/mysql  # 可選:掛載日志目錄
    networks:
      - mysql-network  # 加入自定義網(wǎng)絡(luò)(更安全)

volumes:
  mysql_data:  # 聲明一個(gè)命名卷,Docker會(huì)自動(dòng)管理其位置

networks:
  mysql-network:  # 聲明一個(gè)自定義網(wǎng)絡(luò)
    driver: bridge

3. (可選) 創(chuàng)建自定義配置文件

創(chuàng)建 conf 目錄并放入你的 my.cnf 文件,用于覆蓋默認(rèn)的MySQL設(shè)置。

mkdir -p conf

編輯 conf/my.cnf 文件:

[mysqld]
# 服務(wù)器字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

# 默認(rèn)認(rèn)證插件 (MySQL 8.0+ 默認(rèn)使用 caching_sha2_password)
default_authentication_plugin=mysql_native_password

# 自定義其他參數(shù),例如最大連接數(shù)、緩沖區(qū)大小等
max_connections=200
innodb_buffer_pool_size=256M

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

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

在包含 docker-compose.yml 文件的目錄下,運(yùn)行以下命令來(lái)構(gòu)建并啟動(dòng)服務(wù):

# 以后臺(tái)模式啟動(dòng) (-d 或 --detach)
docker-compose up -d

# 或者,如果你想在前臺(tái)啟動(dòng)并查看日志,用于調(diào)試
# docker-compose up
# 使用 Ctrl+C 停止后,容器也會(huì)停止

5. 管理及常用命令

容器啟動(dòng)后,你可以使用以下命令進(jìn)行管理:

# 查看容器運(yùn)行狀態(tài)
docker-compose ps

# 查看MySQL容器的實(shí)時(shí)日志
docker-compose logs -f mysql

# 停止服務(wù)(數(shù)據(jù)會(huì)保留在卷中)
docker-compose down

# 停止并刪除數(shù)據(jù)卷(警告:這會(huì)清除所有數(shù)據(jù)?。?
# docker-compose down -v

# 進(jìn)入MySQL容器內(nèi)部的bash終端
docker-compose exec mysql bash

# 使用MySQL命令行客戶(hù)端直接連接(推薦方式)
# 方式一:在宿主機(jī)上連接(因?yàn)橛成淞硕丝冢?
mysql -h 127.0.0.1 -P 3306 -u root -p
# 然后輸入在yml文件中設(shè)置的 MYSQL_ROOT_PASSWORD

# 方式二:通過(guò)exec在容器內(nèi)執(zhí)行mysql命令(無(wú)需網(wǎng)絡(luò)和密碼,安全快捷)
docker-compose exec mysql mysql -u root -p

關(guān)鍵配置解釋

image: mysql:8.0.39

  • 明確指定版本,避免因拉取 latest 標(biāo)簽而意外升級(jí)。
  • Docker Hub 會(huì)緩存此版本,如果本地沒(méi)有會(huì)自動(dòng)拉取。

volumes

  • mysql_data:/var/lib/mysql:這是最重要的部分,它將數(shù)據(jù)庫(kù)文件存儲(chǔ)在名為 mysql_data 的 Docker 管理卷中,即使容器被刪除,數(shù)據(jù)也不會(huì)丟失。
  • ./conf/my.cnf:/etc/mysql/conf.d/custom.cnf:將本地配置文件掛載到容器的配置目錄。MySQL會(huì)自動(dòng)加載 /etc/mysql/conf.d 目錄下所有以 .cnf 結(jié)尾的文件。

environment

  • MYSQL_ROOT_PASSWORD必須設(shè)置,這是root用戶(hù)的密碼。
  • MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD:可選,用于在啟動(dòng)時(shí)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)和用戶(hù)。

ports

  • "3306:3306":將容器服務(wù)的3306端口暴露給宿主機(jī)。
  • 如果宿主機(jī)3306端口已被占用,可以改為 "3307:3306"(用宿主機(jī)3307端口映射容器3306端口)。

networks

  • 使用自定義網(wǎng)絡(luò) mysql-network 可以提高安全性。
  • 如果其他服務(wù)(如Web應(yīng)用)也在同一個(gè)Compose文件中定義,它們可以通過(guò)服務(wù)名(mysql)直接通信,而無(wú)需向宿主機(jī)暴露端口。

安全建議

  • 強(qiáng)烈修改默認(rèn)密碼:示例中的 your_strong_root_password 一定要換成復(fù)雜且唯一的密碼。
  • 謹(jǐn)慎暴露端口:如果MySQL只被其他Docker容器訪問(wèn),可以不映射端口到宿主機(jī)(刪除 ports 部分),讓服務(wù)間通過(guò)Docker網(wǎng)絡(luò)內(nèi)部通信,更安全。
  • 定期備份:雖然數(shù)據(jù)在卷中,但仍需定期備份Docker卷(mysql_data)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker鏡像下載的常見(jiàn)問(wèn)題及解決辦法

    Docker鏡像下載的常見(jiàn)問(wèn)題及解決辦法

    在使用Docker時(shí),用戶(hù)常遇到下載鏡像錯(cuò)誤,如TLS握手超時(shí)、請(qǐng)求取消等,主要由網(wǎng)絡(luò)狀況、配置問(wèn)題或DockerHub服務(wù)導(dǎo)致,本文就來(lái)介紹了一下幾種解決方法,感興趣的可以了解一下
    2024-10-10
  • docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn)

    docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟

    Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟

    本文主要介紹了Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • 快速解決Docker鏡像無(wú)法拉取的問(wèn)題

    快速解決Docker鏡像無(wú)法拉取的問(wèn)題

    因國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題,默認(rèn)Docker鏡像源可能訪問(wèn)緩慢或失敗,通過(guò)配置鏡像加速器(如阿里云、華為云等),修改daemon.json文件并重啟服務(wù),可顯著提升鏡像拉取速度,確保順利獲取鏡像
    2025-08-08
  • Docker入門(mén)與進(jìn)階(基礎(chǔ)+實(shí)戰(zhàn)+進(jìn)階+Compose+Swarm)超詳細(xì)版

    Docker入門(mén)與進(jìn)階(基礎(chǔ)+實(shí)戰(zhàn)+進(jìn)階+Compose+Swarm)超詳細(xì)版

    本文詳細(xì)介紹了Docker的基礎(chǔ)概念、安裝配置、鏡像與容器操作,包括數(shù)據(jù)卷、Dockerfile構(gòu)建、網(wǎng)絡(luò)管理、Docker Compose單機(jī)部署和Swarm集群部署,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • 一文帶你了解Docker網(wǎng)絡(luò)模型

    一文帶你了解Docker網(wǎng)絡(luò)模型

    Docker是一種容器化平臺(tái),它提供了一種輕量級(jí)的虛擬化解決方案,使得應(yīng)用程序能夠以容器的形式運(yùn)行,Docker網(wǎng)絡(luò)模型基于Linux內(nèi)核的網(wǎng)絡(luò)命名空間和虛擬以太網(wǎng)橋技術(shù),本文就給大家詳細(xì)介紹一下Docker?網(wǎng)絡(luò)模型,需要的朋友可以參考下
    2023-07-07
  • docker保存鏡像到本地并加載本地鏡像文件詳解

    docker保存鏡像到本地并加載本地鏡像文件詳解

    平常我們下載docker鏡像會(huì)通過(guò)配置國(guó)內(nèi)源來(lái)加速下載,但是有時(shí)候會(huì)有另外的需求,比如某個(gè)機(jī)器不能聯(lián)網(wǎng),我們就需要從其他機(jī)器下載,打包后,拷貝到這個(gè)機(jī)器,下面這篇文章主要給大家介紹了關(guān)于docker保存鏡像到本地并加載本地鏡像文件的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 使用docker部署django的詳細(xì)步驟

    使用docker部署django的詳細(xì)步驟

    當(dāng)用Django框架開(kāi)發(fā)的網(wǎng)站項(xiàng)目完成后上線的話可以用物理主機(jī)、虛擬機(jī)來(lái)部署,也可以容器,下面這篇文章主要給大家介紹了關(guān)于使用docker部署django的詳細(xì)步驟,需要的朋友可以參考下
    2022-08-08
  • Spring Boot使用Docker分層打包的設(shè)置方法

    Spring Boot使用Docker分層打包的設(shè)置方法

    Spring Boot 現(xiàn)在支持分層打包技術(shù)了, 我們也來(lái)用一用, 加速Docker打包, 構(gòu)建的時(shí)候速度也會(huì)非???本文重點(diǎn)給大家介紹Spring Boot使用Docker分層打包的設(shè)置方法,感興趣的朋友一起看看吧
    2021-08-08
  • 如何在docker容器內(nèi)部安裝kibana分詞器

    如何在docker容器內(nèi)部安裝kibana分詞器

    這篇文章主要介紹了如何在docker容器內(nèi)部安裝kibana分詞器,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

宾阳县| 平舆县| 永泰县| 隆林| 蒙山县| 门头沟区| 汪清县| 昌江| 新兴县| 房产| 宜阳县| 深水埗区| 灌阳县| 攀枝花市| 康马县| 基隆市| 西乌珠穆沁旗| 南充市| 扬中市| 马鞍山市| 津市市| 景洪市| 四子王旗| 濮阳县| 望江县| 扎兰屯市| 勃利县| 朝阳市| 贵南县| 江北区| 望谟县| 通化县| 远安县| 马公市| 永善县| 昌乐县| 潞城市| 贵港市| 曲松县| 隆德县| 湟中县|