Like Share Discussion Bookmark Smile

J.J. Huang   2023-06-01   Docker Docker Compose   瀏覽次數:次   DMCA.com Protection Status

Docker Compose - 簡介

前言

由於工作上常使用到Docker建置開發的環境,並且會有很多服務需要一起啟動…等等,所以有一大堆的Docker-compose,再一次的電腦重新升級與安裝後,就想要將其整理上來部落格做個留存。另外在下面會根據官方的違建,做一些簡單的說明,後面就會將各種的服務直接分享上來。

如需要更深入學習和了解DockerDocker-compose,建議在官方上做學習或是其他的菜鳥教學都可以很好的理解學習。

註:更多更詳細的介紹,或是問題的解決,請自行上網找尋唷。

Docker Compose 版本

注意:

  • Compose V1 不再接收更新,並且在2023年6月之後將在Docker Desktop的新版本中不可用。
  • Compose V2 包含在Docker Desktop的所有當前支持版本中。

    註:有關更多信息請參見V2

另外版本之間的差異和升級,可以參考Legacy versions

Docker Compose 簡介

  • 定義和運行多容器Docker應用程序的工具。
  • 使用docker-compose.yamlYAML文件來配置應用程序的服務。
  • 使用單個命令docker compose up,可以從您的配置創建並啟動所有服務。

它還具有用於管理應用程序整個生命週期的命令:

  • 可以很簡單的開始、停止和重建服務。
  • 查看正在運行的服務狀態。
  • 運行服務的日誌輸出。
  • 在服務上運行一次性命令。

Compose使其有效的關鍵特徵是:

  • 在單個主機上有多個隔離環境。
  • 創建容器時保留資料。
  • 僅重新創建已更改的容器。
  • 支持變量並在環境之間移動組合。

註:上面這些特性或許不能夠透過簡單幾句話就理解,建議身體例行,直接照著官方的 getting started 來學習。

Docker Compose 分享目錄:

以下是目前預計會整理分享上來的服務清單<部分有區分單節點與集群>:

  • blackhole:黑洞服務器(一個HTTP服務器,它捕獲所有的東西並記錄下來)
  • miniserve:文件服務器(一種CLI工具,可通過HTTP提供文件和目錄)
  • nsqNSQ是一個基於Go語言的分佈式實時消息平台。
  • subversionApache Subversion,一個開放原始碼的版本控制系統。
  • redisRedis是一個使用ANSI C編寫的開源、支援網路、基於記憶體、分散式、可選永續性的鍵值對儲存資料庫。
  • [cassandra]:Apache Cassandra是一套開源分散式NoSQL資料庫系統。
  • [clickhouse]:ClickHouse是一個用於線上分析處理的開源列式資料庫。
  • [rabbitmq]:RabbitMQ是實現了進階訊息佇列協定的開源訊息代理軟體。
  • [postgresql]:PostgreSQL是一個開源的物件-關聯式資料庫管理系統。
  • [kafka]:Kafka是由Apache軟體基金會開發的一個開源流處理平台。
    • [single]
    • [cluster]
  • [tarantool]:Tarantool是一個開源的NoSQL資料庫管理系統和Lua應用伺服器。
    • [single]
    • [cluster]
  • [zookeeper]:Apache ZooKeeper為大型分散式計算提供開源的分散式組態設定服務、同步服務和命名註冊。
    • [single]
    • [cluster]
  • [elasticsearch]:Elasticsearch是一個基於Lucene庫的搜尋引擎。
    • [single]
    • [cluster]
  • [mariadb]:MariaDBMySQL關聯式資料庫管理系統的一個復刻,由社群開發、商業支援,旨在保持在GNU GPL下開源。
  • [nats]:NATS是一個開源消息傳遞系統。
  • [mysql]:MySQL原本是一個開放原始碼的關聯式資料庫管理系統。
  • [mongodb]:MongoDB是一種文件導向的資料庫管理系統。
  • [nginx]:Nginx是非同步框架的網頁伺服器,也可以用作反向代理、負載平衡器和HTTP快取。
  • [timescaledb]:TimescaleDB是由Timescale Inc.開發的開源時間序列數據庫。

註:以上僅僅是部分…後面有機會會慢慢補充。


註:以上參考了
Docker
Docker - overview
Docker Compose overview