中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker-compose

發布時間:2020-10-22 18:17:46 來源:網絡 閱讀:253 作者:hellojinni 欄目:系統運維

Docker-Compose簡介

  • Docker-Compose項目是Docker官方的開源項目,負責實現對Docker容器集群的快速編排, 并且提供了 scale (服務擴容) 的功能。

  • Docker-Compose將所管理的容器分為三層,分別是工程(project),服務(service)以及容器(container)。Docker-Compose運行目錄下的所有文件(docker-compose.yml,extends文件或環境變量文件等)組成一個工程,若無特殊指定工程名即為當前目錄名。一個工程當中可包含多個服務,每個服務中定義了容器運行的鏡像,參數,依賴。一個服務當中可包括多個容器實例,Docker-Compose并沒有解決負載均衡的問題,因此需要借助其它工具實現服務發現及負載均衡。

  • Docker-Compose的工程配置文件默認為docker-compose.yml,可通過環境變量COMPOSE_FILE或-f參數自定義配置文件,其定義了多個有依賴關系的服務及每個服務運行的容器。

  • 使用一個Dockerfile模板文件,可以讓用戶很方便的定義一個單獨的應用容器。在工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個Web項目,除了Web服務容器本身,往往還需要再加上后端的數據庫服務容器,甚至還包括負載均衡容器等。

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

  • Docker-Compose項目由Python編寫,調用Docker服務提供的API來對容器進行管理。因此,只要所操作的平臺支持Docker API,就可以在其上利用Compose來進行編排管理。

假如,你有一個java鏡像,一個mysql鏡像,一個nginx鏡像。如果沒有docker-compose,那么每次啟動的時候,你需要敲各個容器的啟動參數,環境變量,容器命名,指定不同容器的鏈接參數等等一系列的操作,相當繁瑣。而用了docker-composer之后,你就可以把這些命令一次性寫在docker-composer.yml文件中,以后每次啟動這一整個環境(含3個容器)的時候,你只要敲一個docker-composer up命令就ok了。

先簡單理解 docker 的使用過程,它分為鏡像構建與容器啟動。

  1. 鏡像構建:即創建一個鏡像,它包含安裝運行所需的環境、程序代碼等。這個創建過程就是使用 dockerfile 來完成的。

  2. 容器啟動:容器最終運行起來是通過拉取構建好的鏡像,通過一系列運行指令(如端口映射、外部數據掛載、環境變量等)來啟動服務的。針對單個容器,這可以通過 docker run 來運行。

而如果涉及多個容器的運行(如服務編排)就可以通過docker-compose來實現,它可以輕松的將多個容器作為 service 來運行(當然也可僅運行其中的某個),并且提供了 scale (服務擴容) 的功能。

簡單總結:

dockerfile: 構建鏡像;

docker run: 啟動容器;

docker-compose: 啟動服務;

安裝

推薦官方安裝

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

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

[root@rancher ~]# docker-compose -v

docker-compose version 1.24.1, build 4667896b

卸載


如果是二進制包方式安裝的,刪除二進制文件即可:

sudo rm /usr/local/bin/docker-compose


如果通過Python pip工具安裝的,則執行如下命令刪除:

sudo pip uninstall docker-compose


常用命令

-f,–file FILE指定Compose模板文件,默認為docker-compose.yml,可以多次指定。

-p, 指定docker-compose的項目目錄,也就是docker-compose.yml文件的存儲目錄

-v,–version打印版本并退出

docker-compose ps? ? ? 顯示所有容器

docker-compose up?-d nginx? ?構建并在后臺啟動nginx容器,不加nginx,啟動所有服務,下面的等同。

docker-compose run? ? 允許為你的應用程序運行一次性命令

docker-compose start?nginx? ?啟動nginx容器

docker-compose restart?nginx? ?重啟nginx容器 (注意是編排文件中的service)

docker-compose stop? nginx? 停止nginx容器

docker-compose pause nginx? ? 暫停nginx容器

docker-compose unpause nginx? ? 恢復nginx容器

docker-compose kill nginx? ? 強制停止nginx容器

docker-compose rm nginx? ? 刪除nginx容器(刪除前必須關閉容器)

docker-compose exec nginx bash????????????登錄到nginx容器中

docker-compose down -v? ?停止并刪除容器、網絡、映像和卷,-v(--volumes)刪除容器的數據卷

docker-compose logs -f? --tail 50 nginx? ? 查看nginx的實時日志,只看最后50行。

docker-compose events --json nginx? ? ? 以json的形式輸出nginx的docker日志

docker-compose config??-q? ? 驗證(docker-compose.yml)文件配置,當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息。

docker-compose build nginx? ? ? ? 構建鏡像

docker-compose build --no-cache nginx???不帶緩存的構建。

docker-compose scale??? ?設置服務的容器數量

docker-compose pull?? ? 拉取服務鏡像

docker-compose push? ? 推送服務鏡像

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九寨沟县| 白玉县| 军事| 彰化县| 阿拉善左旗| 正蓝旗| 离岛区| 于田县| 崇州市| 南城县| 津南区| 五家渠市| 西充县| 金山区| 金堂县| 丹阳市| 台中县| 太仆寺旗| 湄潭县| 托里县| 临洮县| 双城市| 嘉善县| 高碑店市| 黑水县| 汶川县| 德州市| 从化市| 喜德县| 民勤县| 喀什市| 高要市| 色达县| 陇川县| 兰州市| 萝北县| 黄陵县| 松潘县| 四子王旗| 丹寨县| 临汾市|