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

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

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

      docker-compose

      docker安裝:https://blog.csdn.net/Cike___/article/details/146415836

      最新版本的docker安裝完成后,會自帶docker-compase

      docker version

      docker compose version

       

      Docker Compose.yml 是 Docker Compose 工具的核心配置文件

      Docker Compose 主要不是用來構建鏡像的,也不是專門用來拉取鏡像的,而是用來編排和運行多容器應用的。

      1. 多容器應用管理

      核心作用:定義和運行多個相互關聯的 Docker 容器

      version: '3.8'
      services:
        web:
          image: nginx
          depends_on:
            - app
            - database
        
        app:
          build: .
          depends_on:
            - database
        
        database:
          image: postgres:13

      2. 服務依賴和啟動順序

      services:
        database:
          image: postgres
          healthcheck:
            test: ["CMD-SHELL", "pg_isready -U postgres"]
          
        backend:
          build: ./backend
          depends_on:
            database:
              condition: service_healthy  # 等待數據庫健康后再啟動

      3. 網絡配置

      創建容器間的專用網絡,實現服務發現和內部通信

      services:
        web:
          image: nginx
          networks:
            - frontend
            - backend
        
        app:
          build: .
          networks:
            - backend
      
      networks:
        frontend:
          driver: bridge
        backend:
          driver: bridge

      4. 數據持久化

      services:
        database:
          image: postgres
          volumes:
            - db_data:/var/lib/postgresql/data  # 命名卷
            - ./init.sql:/docker-entrypoint-initdb.d/init.sql  # 主機掛載
      
      volumes:
        db_data:  # 聲明數據卷

      5. 環境配置管理

      services:
        app:
          build: .
          environment:
            - DATABASE_URL=postgresql://user:pass@db:5432/app
            - DEBUG=false
          env_file:
            - .env.production  # 從文件加載環境變量

      6. 端口映射和訪問控制

      services:
        web:
          image: nginx
          ports:
            - "80:80"           # 主機端口:容器端口
            - "443:443"
          expose:
            - "8080"            # 僅對鏈接的容器暴露

      7. 資源限制

      services:
        app:
          image: myapp
          deploy:
            resources:
              limits:
                cpus: '1.0'
                memory: 512M
              reservations:
                cpus: '0.5'
                memory: 256M

       docker compose常用指令

      # 拉取服務所需的鏡像(不啟動容器)
      docker compose pull
      
      # 構建服務鏡像(如果配置了 build)
      docker compose build
      
      # 啟動所有服務(會自動拉取或構建鏡像)
      docker compose up -d
      
      # 重新構建并啟動
      docker compose up --build

      # 啟動所有服務
      docker compose up
      docker compose up -d # 后臺運行
      docker compose up service1 # 啟動特定服務

      # 停止服務
      docker compose down # 停止并移除容器
      docker compose down -v # 停止并移除容器和卷

      # 重啟服務
      docker compose restart
      docker compose restart service1

       

      docker compose start # 啟動已存在的服務
      docker compose stop # 停止服務
      docker compose pause # 暫停服務
      docker compose unpause # 恢復暫停的服務
      docker compose kill # 強制停止服務
      docker compose rm # 刪除已停止的容器

       

      docker compose ps # 查看服務狀態
      docker compose logs # 查看所有服務日志
      docker compose logs service1 # 查看特定服務日志
      docker compose logs -f # 實時查看日志
      docker compose top # 查看運行進程
      docker compose images # 查看使用的鏡像

       

      docker compose pull # 拉取服務鏡像
      docker compose build # 構建服務鏡像
      docker compose push # 推送服務鏡像

       

      docker compose exec service1 bash # 在服務中執行命令
      docker compose exec -it service1 sh # 交互式執行
      docker compose run --rm service1 command # 一次性運行命令

       

      docker compose config # 驗證和查看組合配置
      docker compose config --services # 列出所有服務
      docker compose config --volumes # 列出所有卷

       

      docker compose up --scale service1=3 # 擴展服務實例數量
      docker compose scale service1=5 # 伸縮服務實例

       

      docker compose events # 查看實時事件
      docker compose port service1 80 # 查看服務的端口綁定

       

      # 開發環境
      docker compose -f docker-compose.dev.yml up -d

      # 生產環境
      docker compose -f docker-compose.prod.yml up -d

      # 測試環境
      docker compose -f docker-compose.test.yml up -d

       

      方面ports 映射volumes 映射
      作用對象 網絡端口 文件系統
      映射關系 主機端口 ? 容器端口 主機目錄 ? 容器目錄,兩者目錄共享
      數據流向 網絡流量雙向轉發 文件數據雙向同步
      持久化 不涉及數據存儲 數據持久化在主機
      典型用途 服務訪問、API暴露 配置文件、日志、數據存儲

      e.g:

      image

      version: '3'

      services:
      # MySQL 數據庫服務
      mysql:
      image: mysql:8.0
      container_name: mysql-db
      restart: always
      ports:
      - "3306:3306"
      environment:
      MYSQL_ROOT_PASSWORD: mac123
      MYSQL_DATABASE: lu_tale
      MYSQL_USER: winter
      MYSQL_PASSWORD: 1111
      volumes:
      - "./mysql/data:/var/lib/mysql"
      - "./mysql/init:/docker-entrypoint-initdb.d"
      - "./mysql/conf:/etc/mysql/conf.d"
      networks:
      - app-network

      # 應用服務
      delay-server:
      container_name: my-site
      image: winterchen/my-site
      restart: always
      # 移除外部端口映射,通過 Nginx 訪問
      ports:
      - "8089:8089"
      volumes:
      - "./tmp:/tmp"
      environment:
      SPRING_DATASOURCE_DRUID_URL: jdbc:mysql://mysql:3306/lu_tale?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
      SPRING_DATASOURCE_DRUID_USERNAME: root
      SPRING_DATASOURCE_DRUID_PASSWORD: 1111
      QINIU_ACCESSKEY: ""
      QINIU_SERECTKEY: ""
      QINIU_BUCKET: ""
      QINIU_CDN_URL: ""
      depends_on:
      - mysql
      networks:
      - app-network

      # Nginx 反向代理服務
      nginx:
      image: nginx:alpine
      container_name: nginx-proxy
      restart: always
      ports:
      - "80:80"
      - "443:443" # 如果需要 HTTPS
      volumes:
      - "./nginx/conf.d:/etc/nginx/conf.d" # Nginx 配置文件
      - "./nginx/logs:/var/log/nginx" # 日志文件
      - "./nginx/html:/usr/share/nginx/html" # 靜態文件
      depends_on:
      - delay-server
      networks:
      - app-network

      # 定義網絡
      networks:
      app-network:
      driver: bridge

       nginx配置:

      ./nginx/conf.d/default.conf

      server {
          listen 80;
          server_name localhost;
      
          # 靜態文件處理
          location /static/ {
              alias /usr/share/nginx/html/static/;
              expires 30d;
          }
      
          # API 和動態請求轉發到應用服務
          location / {
              proxy_pass http://delay-server:8089;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
      
              # 超時設置
              proxy_connect_timeout 30s;
              proxy_send_timeout 30s;
              proxy_read_timeout 30s;
          }
      
          # 健康檢查
          location /health {
              proxy_pass http://delay-server:8089/health;
              access_log off;
          }
      }

       

      posted @ 2025-11-03 14:22  wangssd  閱讀(1)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产午夜A理论毛片| 午夜在线欧美蜜桃| 国产熟女一区二区三区四区| 老熟妇仑乱换频一区二区| 日韩国产成人精品视频| 韩国免费a级毛片久久| 91亚洲人成手机在线观看| 中文字幕一区二区三区久久蜜桃| 欧美丰满熟妇bbbbbb| 中文国产日韩欧美二视频| 国产亚洲欧洲av综合一区二区三区| 清水河县| 国产乱码日韩亚洲精品成人| 国产成人一区二区三区免费| 国内精品伊人久久久久777| 99久久成人亚洲精品观看| 成人国产精品一区二区网站公司| 国产婷婷色一区二区三区| 亚洲国产精品毛片av不卡在线| 国产爽视频一区二区三区| 国产福利免费在线观看| 成人拍拍拍无遮挡免费视频| 国内精品免费久久久久电影院97| 亚洲а∨精品天堂在线| 亚洲成aⅴ人在线电影| 韩国青草无码自慰直播专区| 国产日产欧产系列| 国产一区二区一卡二卡| 一个人看的www视频免费观看 | 丰满的熟妇岳中文字幕| 鲁丝片一区二区三区免费| 韩国无码AV片午夜福利| 人妻精品久久无码区| 手机在线国产精品| 亚洲国产日韩一区三区| 国产精品亚洲欧美大片在线看| 日韩精品国产二区三区| 国产成人一区二区不卡| 久热这里只有精品视频六| 亚洲中文日韩一区二区三区| 九九成人免费视频|