最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker Compose 實(shí)踐及梳理

 更新時間:2021年09月15日 09:28:23   作者:AaronLin  
Docker Compose是一個用于定義和運(yùn)行多個Docker應(yīng)用程序的工具。通過使用YAML文件來配置應(yīng)用程序的服務(wù),使用單個命令可以從配置中創(chuàng)建并啟動所有服務(wù),今天通過本文給大家介紹Docker Compose 實(shí)踐及梳理,感興趣的朋友一起看看吧

Docker Compose 可以實(shí)現(xiàn) Docker 容器集群的編排,可以通過 docker-compose.yml 文件,定義我們的服務(wù)及其需要的依賴,輕松地運(yùn)行在測試、生產(chǎn)等環(huán)境

文檔

Product manuals

Compose file version 3 reference

Docker 從入門到實(shí)踐 【中文】

安裝 Compose

Compose 依賴 Docker Engine,所有要保證環(huán)境安裝了 Docker,可參考官方教程,主要分為兩步:

# 1. 下載 Compose 只執(zhí)行文件到 usr/local/bin/ 目錄
# 下載失敗可以參考下一小結(jié)提供地址安裝
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 2. 對 Compose 可執(zhí)行文件添加運(yùn)行權(quán)限
sudo chmod +x /usr/local/bin/docker-compose

# 輸入下面命令查看幫助,測試安裝是否成功
docker-compose -h

Compose 開源在 Docker 官方的 GitHub 倉庫:docker/compose,所有的 Compose 都會發(fā)布在倉庫的 Releases 里,步驟1就是使用 curl 命令從 Releases 里下載可執(zhí)行文件,uname -suname -m 可以讀取系統(tǒng)的內(nèi)核名稱和硬件架構(gòu),用來匹配需要的 Compose 版本, curl 的 -L 參數(shù)會讓 HTTP 請求跟隨重定向(默認(rèn)不跟隨),-o (小寫o) 會將服務(wù)器響應(yīng)保存成文件,直接下載到:usr/local/bin/ 下,文件名為:docker-compose,因為這個路徑已經(jīng)在環(huán)境變量中了,所以完成步驟2,添加可執(zhí)行權(quán)限后,就可以在任意位置使用了

直接從 GitHub 下載比較慢可以通過以下地址下載:

# https://vuepress.mirror.docker-practice.com/compose/install/
sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

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

入門

Compose 的模版指令與 Docker 的 run 命令相關(guān)參數(shù)很相似,忘記了 docker 命令可以參考之前的一篇博客:Docker 實(shí)踐及命令梳理

Compose 中有兩個重要的概念:

  • 服務(wù) (service):一個應(yīng)用的容器,實(shí)際上可以包括若干運(yùn)行相同鏡像的容器實(shí)例
  • 項目 (project):由一組關(guān)聯(lián)的應(yīng)用容器組成的一個完整業(yè)務(wù)單元,在 docker-compose.yml 文件中定義

docker-compose.yml 格式如下,注意:YAML 文件必須要鍵值之間的 : 后面必須有一個空格,縮進(jìn)表示層級,要注意縮進(jìn)
有使用到的 volumes 和 networks 必須聲明

# 指定版本
version: "3"
# 服務(wù)的集合
services:
  # 其中一個服務(wù),服務(wù)名為:webapp
  webapp:
    # 指定該服務(wù)使用的鏡像
    image: examples/web
    # 端口映射
    ports:
      - "80:80"
    # 數(shù)據(jù)卷
    volumes:
      - "/data"

簡單上手

在一個 Compose 中啟動 Tomcat, MySQL, redis,創(chuàng)建 docker-compose.yml

version: "3.0"

services:
  tomcat:
    container_name: mytomcat # --name
    image: tomcat:8.0-jre8
    ports:
      - "8080:8080"
    volumes:
      - "tomcatwebapps:/usr/local/tomcat/webapps"
    networks:
      - some_network
    # tomcat 服務(wù)依賴于 mysql 和 redis
    depends_on:
      - mysql
      - redis
  mysql:
    container_name: mysql
    image: mysql:5.7.32
    ports:
      - "3306:3306"
    volumes:
      - "mysqldata:/var/lib/mysql"
      - "mysqlconf:/etc/mysql"
    environment:
      - MYSQL_ROOT_PASSWORD=1234
    networks:
      some_network:
  redis:
    container_name: redis
    image: redis:5.0.10
    ports:
      - "6379:6379"
    volumes:
      - "redisdata:/data"
    command: "redis-server --appendonly yes"
    networks:
      some_network:

# 使用到的 volumes 和 networks 必須聲明
volumes:
  tomcatwebapps: 
  mysqldata:
  mysqlconf:
  redisdata: 

networks:
  # 聲明名稱為 “some_network” 的網(wǎng)絡(luò)
  some_network:

docker-compose.yml 所在路徑執(zhí)行 docker-compose up 啟動 Compose 項目,它會下載使用到的鏡像并在前臺運(yùn)行打印日志,可以使用 Ctrl + C 終止

如果需要后臺運(yùn)行執(zhí)行 docker-compose up -d,這時候使用 docker ps 可以看到 Compose 已經(jīng)根據(jù) yaml 創(chuàng)建了相關(guān)的容器,使用 docker-compose down 停止 Compse 并移除自動創(chuàng)建的網(wǎng)橋

使用 docker network ls 查看網(wǎng)絡(luò)或者 docker volume ls 查看數(shù)據(jù)卷,Compose 定義的網(wǎng)絡(luò)或數(shù)據(jù)卷名稱格式為:docker-compose.yml所在文件夾的名稱加上下劃線再加上 yaml 中定義名稱,如果在 "dockerfile" 文件夾下創(chuàng)建 yaml 文件并啟動,那么網(wǎng)絡(luò)名稱為:dockerfile_some_network

tomcat 服務(wù)使用了 depends_on,表示它依賴于 redis 和 mysql 服務(wù),Compose 將優(yōu)先啟動它的依賴再啟動它

命令梳理

Docker Compose 的命令與 Dokcer 類似,可以使用 --help 參數(shù),就可以查詢到到對應(yīng)命令的使用方法

docker-compose --help

默認(rèn)啟動的模版文件名為 docker-compose.yml,可以使用 -f 指定自定義的模版文件
可以通過 config 命令,檢查模版文件語法是否正確

docker-compse 也包含很多子命令:
啟動停止相關(guān):up, down, restart, stop, pasue, unpause

資源相關(guān):ps, top, kill, run

進(jìn)入容器:exec

查看日志:logs

很多子命令都可以在后面跟上某個具體的 service 名稱,定向地操作,下面不一一舉例,
可以使用docker-compose help 再跟上子命令名稱,查詢其用法

# 后臺啟動 yaml 定義的所有容器
docker-compose up -d
# 僅啟動 mysql 這個service,會啟動其依賴的 service
docker-compose up mysql 指定啟動的server名稱,
# 停止容器并移除自動創(chuàng)建的網(wǎng)橋
docker-compose down 
# 重啟所有 service 后面可以指定上某個具體的 service
docker-compose restart

# 暫停 和 恢復(fù)
docker-compose pause
docker-compose unpause

# 進(jìn)入 redis 這個 service 使用 exit 退出
docker-compose exec redis bash

# 列出當(dāng)前 yaml 中定義的容器的信息
docker-compose ps

# 刪除當(dāng)前 yaml 中定義的容器,需要先 stop,后面可以指定上某個具體的 service
docker-compose rm

# 查看各個 service 容器內(nèi)運(yùn)行的進(jìn)程情況
docker-compose top

# 查看日志默認(rèn)查看 yaml 所有的,可以跟上具體 service
# -f 可以保持跟蹤,新的日志會馬上顯示在屏幕上
docker-compose logs

參考資料

curl 的用法指南
【編程不良人】Docker容器技術(shù)&Docker-Compose實(shí)戰(zhàn)

到此這篇關(guān)于Docker Compose 實(shí)踐及梳理的文章就介紹到這了,更多相關(guān)Docker Compose 實(shí)踐內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解將本地docker容器遷移到服務(wù)端

    詳解將本地docker容器遷移到服務(wù)端

    這篇文章主要介紹了詳解將本地docker容器遷移到服務(wù)端,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Docker 啟動Redis 并設(shè)置密碼的操作

    Docker 啟動Redis 并設(shè)置密碼的操作

    這篇文章主要介紹了Docker 啟動Redis 并設(shè)置密碼的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker如何在一個容器內(nèi)部署多個服務(wù)

    docker如何在一個容器內(nèi)部署多個服務(wù)

    這篇文章主要介紹了docker如何在一個容器內(nèi)部署多個服務(wù),思路是這樣的首先拿到你的httpd,以及你的springBoot,合并他們的Dockerfile,然后打包,然后啟動的時候啟動多個端口(httpd的端口和你服務(wù)的端口),需要的朋友可以參考下
    2024-01-01
  • Docker圖文詳解

    Docker圖文詳解

    今天小編就為大家分享一篇關(guān)于Docker圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 解決Docker容器下不能使用vim命令的問題

    解決Docker容器下不能使用vim命令的問題

    這篇文章介紹了解決Docker容器下不能使用vim命令的問題,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫的方法

    這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Docker上部署Nginx的方法步驟

    Docker上部署Nginx的方法步驟

    本文主要介紹了Docker上部署Nginx的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Docker數(shù)據(jù)存儲總結(jié)

    Docker數(shù)據(jù)存儲總結(jié)

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • docker網(wǎng)絡(luò)及部署集群和打包鏡像問題

    docker網(wǎng)絡(luò)及部署集群和打包鏡像問題

    這篇文章主要介紹了docker網(wǎng)絡(luò)及部署集群和打包鏡像問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • docker redis5.0 cluster集群搭建的實(shí)現(xiàn)

    docker redis5.0 cluster集群搭建的實(shí)現(xiàn)

    這篇文章主要介紹了docker redis5.0 cluster集群搭建的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評論

宜宾县| 乃东县| 吉首市| 大姚县| 浙江省| 镇平县| 宁化县| 永春县| 平南县| 鲁甸县| 大姚县| 淮阳县| 监利县| 珠海市| 磐石市| 桦甸市| 修文县| 保康县| 阿拉善左旗| 韩城市| 林西县| 嘉义市| 禹州市| 贵南县| 平湖市| 丰都县| 沁水县| 永川市| 陈巴尔虎旗| 靖安县| 玛曲县| 临沭县| 科尔| 安远县| 胶州市| 大城县| 石棉县| 资溪县| 紫金县| 沙田区| 怀柔区|