日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker容器编排

發布時間:2023/12/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker容器编排 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker容器編排

    • 簡介
    • 為什么需要 Compose?
    • 安裝docker-compose
    • 常用命令
    • 使用步驟
    • 小案例
    • 總結

簡介

Compose(容器編排) 是 Docker 公司推出的一個工具軟件,可以管理多個 Docker 容器組成一個應用。你需要定義一個 YAML 格式的配置文件docker-compose.yml,寫好多個容器之間的調用關系。然后,只要一個命令,就能同時啟動/關閉這些容器。主要實現對Docker容器集群的快速編排。

為什么需要 Compose?

docker建議我們每一個容器中只運行一個服務,因為docker容器本身占用資源極少,所以最好是將每個服務單獨的分割開來但是這樣我們又面臨了一個問題?

如果我需要同時部署好多個服務,難道要每個服務單獨寫Dockerfile然后在構建鏡像,構建容器,這樣累都累死了,所以docker官方給我們提供了docker-compose多服務部署的工具

例如要實現一個Web微服務項目,除了Web服務容器本身,往往還需要再加上后端的數據庫mysql服務容器,redis服務器,注冊中心eureka,甚至還包括負載均衡容器等等。。。。。。

Compose允許用戶通過一個**單獨的docker-compose.yml模板文件(YAML 格式)**來定義一組相關聯的應用容器為一個項目(project)。

可以很容易地用一個配置文件定義一個多容器的應用,然后使用一條指令安裝這個應用的所有依賴,完成構建。Docker-Compose 解決了容器與容器之間如何管理編排的問題。

安裝docker-compose

官網下載地址:https://docs.docker.com/compose/install/

安裝步驟:

下載docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

修改權限

chmod +x /usr/local/bin/docker-compose

查看docker-compose的版本

docker-compose --version

卸載:

rm /usr/local/bin/docker-compose

常用命令

docker-compose -h # 查看幫助 docker-compose up # 啟動所有docker-compose服務 docker-compose up -d # 啟動所有docker-compose服務并后臺運行 docker-compose down # 停止并刪除容器、網絡、卷、鏡像。 docker-compose exec yml里面的服務id # 進入容器實例內部 docker-compose exec docker-compose.yml文件中寫的服務id /bin/bash docker-compose ps # 展示當前docker-compose編排過的運行的所有容器 docker-compose top # 展示當前docker-compose編排過的容器進程 docker-compose logs <yml里面的服務id> # 查看容器輸出日志 docker-compose config # 檢查配置 docker-compose config -q # 檢查配置,有問題才有輸出 docker-compose restart # 重啟服務 docker-compose start # 啟動服務 docker-compose stop # 停止服務

使用步驟

  • 編寫Dockerfile定義各個微服務應用并構建出對應的鏡像文件
  • 使用 docker-compose.yml 定義一個完整業務單元,安排好整體應用中的各個容器服務。
  • 最后,執行 docker-compose up 命令 來啟動并運行整個應用程序,完成一鍵部署上線

小案例

使用容器編排完成部署個人的服務和mysql及redis:

這里需要先將個人服務打包成鏡像,可以通過 dockerfile 或者是 docker commit 指令完成,這里不再細說…

編寫docker-compose.yml文件

version: "3" #指定版本號#配置各個容器服務 services:#配置個人服務microService:#指定鏡像image: zzyy_docker:1.6#指定容器名稱container_name: ms01#指定端口映射ports:- "6001:6001"#指定容器卷volumes:- /app/microService:/data#指定網絡模式networks: - hypig_net depends_on: #表示只有當Docker中運行著指定的容器時,該服務容器才運行- redis- mysql#配置redis容器redis:image: redis:6.0.8ports:- "6379:6379"volumes:- /app/redis/redis.conf:/etc/redis/redis.conf- /app/redis/data:/datanetworks: - atguigu_net#指定容器運行的指令command: redis-server /etc/redis/redis.conf#配置mysql容器mysql:image: mysql:5.7#配置相關的環境environment:MYSQL_ROOT_PASSWORD: 'lzb'MYSQL_ALLOW_EMPTY_PASSWORD: 'no'MYSQL_DATABASE: 'docker_test'MYSQL_USER: 'root'MYSQL_PASSWORD: 'lzb'ports:- "3306:3306"volumes:- /app/mysql/db:/var/lib/mysql- /app/mysql/conf/my.cnf:/etc/my.cnf- /app/mysql/init:/docker-entrypoint-initdb.dnetworks:- hypig_netcommand: --default-authentication-plugin=mysql_native_password #解決外部無法訪問#創建網絡模式 networks: hypig_net:

在docker-compose.yml文件所在的目錄下通過指令構建服務

docker-compose up -d #-d表示以守護進程運行

查看docker容器實例

關停服務

docker-compose stop

總結

  • Compose的核心:編寫docker-compose.yml文件
  • Compose的兩要素:
    • 服務(service):一個個應用容器實例,比如訂單微服務、庫存微服務、mysql容器、nginx容器或者redis容器
    • 工程(project):由一組關聯的應用容器組成的一個完整業務單元,在 docker-compose.yml 文件中定義。

總結

以上是生活随笔為你收集整理的Docker容器编排的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。