<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      docker compose.yaml配置

      以下是一個常用的 MySQL Docker Compose 配置示例,包含數(shù)據(jù)持久化、環(huán)境變量配置、自定義配置等核心功能,適用于開發(fā)或測試環(huán)境。

      1. 基礎(chǔ)配置文件(docker-compose.yml

      創(chuàng)建一個 docker-compose.yml 文件,內(nèi)容如下:

      version: '3.8'  # Compose 文件版本(根據(jù) Docker 版本選擇,3.8 兼容大部分新版本)
      
      services:
        mysql:
          image: mysql:8.0  # MySQL 鏡像(可替換為 5.7 等版本,如 mysql:5.7)
          container_name: mysql-db  # 容器名稱(自定義)
          restart: always  # 容器退出后自動重啟(可選,推薦生產(chǎn)環(huán)境開啟)
          ports:
            - "3306:3306"  # 端口映射:宿主機端口:容器內(nèi)端口(宿主機端口可自定義,如 3307:3306 避免沖突)
          environment:
            # 核心環(huán)境變量(必配置)
            MYSQL_ROOT_PASSWORD: root123  # root 用戶密碼(自定義)
            MYSQL_DATABASE: mydb  # 初始化時自動創(chuàng)建的數(shù)據(jù)庫名(可選)
            MYSQL_USER: testuser  # 初始化時創(chuàng)建的普通用戶(可選)
            MYSQL_PASSWORD: test123  # 普通用戶的密碼(可選,與 MYSQL_USER 配套)
            # 編碼配置(避免中文亂碼,可選但推薦)
            MYSQL_INITDB_SKIP_TZINFO: "1"  # 跳過時區(qū)配置(避免部分環(huán)境報錯)
          volumes:
            # 數(shù)據(jù)持久化:將容器內(nèi)的數(shù)據(jù)目錄掛載到宿主機卷(避免容器刪除后數(shù)據(jù)丟失)
            - mysql-data:/var/lib/mysql
            # 自定義配置文件掛載(可選,如需修改 MySQL 配置)
            # - ./my.cnf:/etc/mysql/conf.d/my.cnf  # 本地配置文件路徑:容器內(nèi)配置文件路徑
          networks:
            - mysql-network  # 自定義網(wǎng)絡(luò)(可選,用于多容器通信)
      
      # 定義數(shù)據(jù)卷(持久化數(shù)據(jù))
      volumes:
        mysql-data:
      
      # 定義網(wǎng)絡(luò)(可選,多容器互聯(lián)時使用)
      networks:
        mysql-network:
          driver: bridge  # 橋接網(wǎng)絡(luò)(默認類型)
      

      2. 可選:自定義 MySQL 配置(my.cnf

      如果需要修改 MySQL 配置(如字符集、連接數(shù)等),可在當(dāng)前目錄創(chuàng)建 my.cnf 文件,內(nèi)容示例:

      [mysqld]
      # 字符集配置(避免中文亂碼)
      character-set-server=utf8mb4
      collation-server=utf8mb4_unicode_ci
      # 最大連接數(shù)(根據(jù)需求調(diào)整)
      max_connections=1000
      # 日志配置(可選)
      slow_query_log=1
      slow_query_log_file=/var/lib/mysql/slow.log
      long_query_time=2
      

      然后在 docker-compose.ymlvolumes 中取消注釋掛載配置,讓自定義配置生效。

      3. 環(huán)境變量安全配置(.env 文件)

      為避免密碼明文暴露,可使用 .env 文件存儲敏感信息,步驟如下:

      1. 創(chuàng)建 .env 文件:

        # .env 文件
        MYSQL_ROOT_PWD=root123
        MYSQL_DB=mydb
        MYSQL_USER=testuser
        MYSQL_USER_PWD=test123
        
      2. 修改 docker-compose.yml 中的 environment 部分,引用 .env 變量:

        environment:
          MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PWD}
          MYSQL_DATABASE: ${MYSQL_DB}
          MYSQL_USER: ${MYSQL_USER}
          MYSQL_PASSWORD: ${MYSQL_USER_PWD}
        

      4. 使用方法

      1. 確保當(dāng)前目錄包含 docker-compose.yml(及可選的 my.cnf.env)。
      2. 啟動容器:
        docker-compose up -d  # -d 表示后臺運行
        
      3. 查看容器狀態(tài):
        docker-compose ps  # 查看服務(wù)狀態(tài)
        docker logs mysql-db  # 查看容器日志(排查啟動問題)
        
      4. 連接 MySQL:
        使用客戶端工具(如 Navicat、DataGrip)或命令行連接:
        # 本地連接(宿主機端口為 3306 時)
        mysql -h 127.0.0.1 -P 3306 -u root -p
        # 輸入 root 密碼(如 root123)即可登錄
        
      5. 停止/刪除容器:
        docker-compose down  # 停止并刪除容器(數(shù)據(jù)卷保留,數(shù)據(jù)不丟失)
        docker-compose down -v  # 停止并刪除容器+數(shù)據(jù)卷(數(shù)據(jù)會丟失,謹慎使用)
        

      頂層 volumes 定義和服務(wù)內(nèi) volumes 掛載

      在 Docker Compose 中,volumes 配置有兩種常見場景:頂層 volumes 定義服務(wù)內(nèi) volumes 掛載,你提到的兩行配置都屬于頂層 volumes 定義,但含義和寫法有區(qū)別,需要結(jié)合 Docker 數(shù)據(jù)卷的類型來理解。

      先明確核心概念:Docker 數(shù)據(jù)卷的兩種類型

      Docker 中管理容器數(shù)據(jù)的方式主要有兩種:

      1. 命名卷(Named Volume):由 Docker 引擎統(tǒng)一管理的持久化存儲,數(shù)據(jù)存儲在 Docker 自身的目錄(通常是 /var/lib/docker/volumes/),名稱由用戶自定義(如 mysql-data)。
      2. 綁定掛載(Bind Mount):直接將宿主機的某個目錄/文件掛載到容器內(nèi),路徑由用戶指定(如 ./data:/var/lib/mysql 中的 ./data 是宿主機路徑)。

      1. 配置 volumes: mysql-data:(正確的命名卷定義)

      這是定義命名卷的標(biāo)準寫法,含義是:
      創(chuàng)建一個名為 mysql-data 的命名卷,使用 Docker 默認的配置(如默認驅(qū)動 local),由 Docker 引擎負責(zé)管理其存儲位置(無需手動指定宿主機路徑)。

      示例場景:
      docker-compose.yml 中,頂層 volumes 定義命名卷后,服務(wù)內(nèi)可以通過卷名掛載到容器路徑,實現(xiàn)數(shù)據(jù)持久化:

      services:
        mysql:
          # ... 其他配置
          volumes:
            - mysql-data:/var/lib/mysql  # 將命名卷 mysql-data 掛載到容器內(nèi)的 /var/lib/mysql(MySQL 數(shù)據(jù)目錄)
      
      volumes:
        mysql-data:  # 定義命名卷,使用默認配置
      

      這種方式的優(yōu)勢:

      • 數(shù)據(jù)由 Docker 管理,避免手動處理宿主機路徑權(quán)限問題(尤其在 Linux 中)。
      • 容器刪除后,卷不會被自動刪除(需手動 docker volume rm 刪除),數(shù)據(jù)持久化更可靠。

      2. 關(guān)于 volumes: mysql-data: .(錯誤/不規(guī)范的寫法)

      這種寫法不符合 Docker Compose 語法規(guī)范,可能是誤解了配置格式導(dǎo)致的。

      原因:
      頂層 volumes 的作用是定義卷的屬性(如驅(qū)動、選項等),語法是 卷名: {配置項},而 . 是宿主機路徑(通常用于綁定掛載),不能直接寫在頂層 volumes 中。

      如果想使用綁定掛載(將宿主機當(dāng)前目錄掛載到容器),正確的寫法是在服務(wù)內(nèi)的 volumes 中配置,而非頂層 volumes

      services:
        mysql:
          # ... 其他配置
          volumes:
            - ./mysql-data:/var/lib/mysql  # 綁定掛載:宿主機當(dāng)前目錄下的 mysql-data 目錄 → 容器內(nèi)的 /var/lib/mysql
      
      # 這里不需要頂層 volumes 定義(綁定掛載無需提前定義)
      

      這里的 ./mysql-data 是宿主機的相對路徑(. 表示當(dāng)前目錄),容器內(nèi)的 /var/lib/mysql 數(shù)據(jù)會直接同步到宿主機的 ./mysql-data 目錄。

      總結(jié)

      • volumes: mysql-data::在頂層定義命名卷,由 Docker 管理存儲,適合生產(chǎn)環(huán)境持久化數(shù)據(jù)(安全、可靠)。
      • volumes: mysql-data: .:語法錯誤,綁定掛載的路徑配置應(yīng)寫在服務(wù)內(nèi)的 volumes 中(如 - ./mysql-data:/var/lib/mysql),適合開發(fā)時需要手動訪問數(shù)據(jù)文件的場景。

      核心區(qū)別:命名卷由 Docker 托管,綁定掛載直接關(guān)聯(lián)宿主機路徑,根據(jù)場景選擇即可。

      posted @ 2025-11-03 22:30  向著朝陽  閱讀(8)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲www永久成人网站| 亚洲AV永久中文无码精品综合| 国内精品免费久久久久电影院97| 2019亚洲午夜无码天堂| 国产超碰无码最新上传| 国产丰满乱子伦无码专区| 在线观看亚洲欧美日本| 无码人妻斩一区二区三区| 国产蜜臀视频一区二区三区| 国产亚洲天堂另类综合| 国产精品任我爽爆在线播放6080 | 国产精品福利自产拍久久 | 九九久久亚洲精品美国国内| 亚洲欧美日韩成人综合一区| 中文字幕人妻在线精品| 国产乱久久亚洲国产精品| 精品久久久中文字幕一区| 亚洲免费视频一区二区三区| 精品国产av无码一区二区三区| 国产成人精品国内自产色| 国产精品一码二码三码| 亚洲真人无码永久在线| 精品熟女少妇av免费久久| 亚洲中文字幕无码久久精品1| 国产SM重味一区二区三区| 国产日韩欧美| 亚洲成人av一区二区| 99久久精品费精品国产一区二| 午夜免费福利小电影| 国产亚洲欧洲av综合一区二区三区| 99久久99久久精品免费看蜜桃| 久久亚洲精品中文字幕波多野结衣| 国产女人被狂躁到高潮小说| 亚洲人成电影网站 久久影视| 亚洲av日韩av中文高清性色| 人妻饥渴偷公乱中文字幕| 99久久国产综合精品色| 无码人妻熟妇av又粗又大| 九九热在线免费视频观看| 日本中文字幕在线播放| 18禁裸乳无遮挡啪啪无码免费|