欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker三劍客之docker-compose

Docker-Compose 是 Docker 的一種編排服務(wù),是一個用于在 Docker 上定義并運行復(fù)雜應(yīng)用的工具,可以讓用戶在集群中部署分布式應(yīng)用。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了藍山免費建站歡迎大家使用!

ockerfile 可以讓用戶管理一個單獨的應(yīng)用容器;而 Compose 則允許用戶在一個模板(YAML 格式)中定義一組相關(guān)聯(lián)的應(yīng)用容器(被稱為一個 project,即項目),例如一個 Web 服務(wù)容器再加上后端的數(shù)據(jù)庫服務(wù)容器等。**

Docker cpmose介紹:

Docker-compose:容器編排工具。通過有一個.yaml或.yaml文件,將所有的容器的部署方法,文件映射,容器端口映射等情況寫在一個配置文件里,執(zhí)行docker-compose up命令就像執(zhí)行腳本一樣,一個一個的安裝并部署容器。

Docker Compose 工作原理圖:
Docker三劍客之docker-compose

Compose 中有兩個重要的概念:

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

一個項目可以由多個服務(wù)(容器)關(guān)聯(lián)而成,Compose 面向項目進行管理,通過子命令對項目中的一組容器進行便捷地生命周期管理。

Compose 項目由 Python 編寫,實現(xiàn)上調(diào)用了 Docker 服務(wù)提供的 API 來對容器進行管理。因此,只要所操作的平臺支持 Docker API,就可以在其上利用 Compose 來進行編排管理。

Docker Compose 安裝

1)從github官網(wǎng)上進行下載:

下載地址:https://github.com/docker/compose/releases
Docker三劍客之docker-compose

Docker三劍客之docker-compose

下載到本地:

[root@sqm-docker01 ~]# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

[root@sqm-docker01 ~]# chmod +x /usr/local/bin/docker-compose

下載成功后,我們就可以使用docker-compose這個編排工具了。

在使用docker-compose之前,我們需要知道每個compose版本所支持的docker版本是哪些?在我們下載compose命令時,其實下面已經(jīng)給出了參考列表,如下:
Docker三劍客之docker-compose

查看自己部署docker的版本:
Docker三劍客之docker-compose
通過上述查看操作,可以知道,當(dāng)前我的docker版本是18.09,那么基本可以使用所有的compose版本,因為其可以向下兼容,只要高于compose版本所支持的docker版本即可。

Docker-compose應(yīng)用

首先我們?yōu)榱擞押们颐烙^的編寫yaml文件,可以設(shè)置tab鍵的距離:
[root@sqm-docker01 ~]# vim .vimrc

Docker三劍客之docker-compose
[root@sqm-docker01 compose]# source /root/.vimrc #加載使其生效

一:簡單通過docker-compose.yaml文件部署nginx服務(wù)

[root@sqm-docker01 compose]# vim docker-compose.yaml
Docker三劍客之docker-compose

//創(chuàng)建掛載目錄文件:
[root@sqm-docker01 compose]# mkdir webserver
//使用docker-compose up -d在后臺啟動服務(wù)
[root@sqm-docker01 compose]# docker-compose  up -d

Docker三劍客之docker-compose

//使用docker-compose查看詳細(xì)信息:
[root@sqm-docker01 compose]# docker-compose ps

Docker三劍客之docker-compose

//編寫簡單的網(wǎng)頁測試文件:
[root@sqm-docker01 compose]# cd webserver/
[root@sqm-docker01 webserver]# echo "welcome to nginx" > index.html
##訪問網(wǎng)頁:
[root@sqm-docker01 webserver]# curl 127.0.0.1
welcome to nginx

//使用docker-compose stop停止服務(wù):
Docker三劍客之docker-compose
//如果你是在其他目錄下,運行服務(wù)需要用-f參數(shù)指定路徑:
Docker三劍客之docker-compose

二:docker-compose+dockerfile部署apache服務(wù)之版本升級

1)首先創(chuàng)建掛載目錄,并編寫測試文件:

[root@sqm-docker01 ~]# mkdir -p httpd/html
[root@sqm-docker01 ~]# cd httpd/html/
[root@sqm-docker01 html]# echo "hello welcome to httpd-v1.0" index.html
[root@sqm-docker01 html]# echo "this is a test file 1.0" > testfile.txt

2)編寫dockerfile

[root@sqm-docker01 html]# vim Dockerfile
FROM httpd:latest
ADD  testfile.txt /root/   #將當(dāng)前目錄下的文件掛載到容器內(nèi)的/root/下

3)編寫docker-compose.yaml文件:
[root@sqm-docker01 html]# vim docker-compose.yaml

version: "3"    #版本號
services:      #定義服務(wù)名(自定義)
  httpd:
    build: .          #進行構(gòu)建dockerfile(.表示當(dāng)前目錄下的Dockerfile),如果定義了dockerfie則表示你是要使用自定義鏡像
    container_name: my_web     #運行后的容器名
    image: httpd:v1.0      #鏡像名稱:版本號  注意:如果沒有定義dockerfile則該鏡像必須是正確的鏡像
    restart: always      #保持運行
    ports:
      - 81:80      #端口號(宿主機:容器內(nèi))
    volumes:    #掛載,映射目錄
      - /root/httpd/html:/usr/local/apache2/htdocs

//運行docker-compose服務(wù):
[root@sqm-docker01 html]# docker-compose up -d

//查看是否生成鏡像:
Docker三劍客之docker-compose
訪問網(wǎng)頁:
Docker三劍客之docker-compose

//查看容器內(nèi)的/root/目錄下文件是否導(dǎo)入成功:
[root@sqm-docker01 html]# docker exec  my_web cat /root/testfile.txt
this is a test file 1.0

進行版本升級:

##修改測試文件內(nèi)容:

[root@sqm-docker01 html]# echo hello welcome to httpd-v2.0 > index.html
[root@sqm-docker01 html]# echo this is a test file 2.0 > testfile.txt 

1)修改docker-compose文件:
[root@sqm-docker01 html]# vim docker-compose.yaml

version: "3"
services:
  httpd:
    build: .
    container_name: my_web   
    image: httpd:v2.0     #將該鏡像版本修改為v2.0
    restart: always
    ports:
      - 81:80
    volumes:
      - /root/httpd/html:/usr/local/apache2/htdocs

//重新構(gòu)建dockerfile:
Docker三劍客之docker-compose
//重新加載docker-compose使其生效:
Docker三劍客之docker-compose
//查看鏡像已經(jīng)升級為2.0,但愿鏡像版本還會保留
Docker三劍客之docker-compose
//測試訪問網(wǎng)頁和文件內(nèi)容:
Docker三劍客之docker-compose

[root@sqm-docker01 html]# docker exec  my_web cat /root/testfile.txt
this is a test file 2.0

可以看到版本升級成功,這就是docker-compose的好處,但需要進行升級或這其他操作時,只需要重新構(gòu)建一下yaml文件即可。

注意:執(zhí)行完build后,必須要重新加載一下docker-compose文件,因為build只是重新構(gòu)建dockerfile。

三:通過docker-compose部署wordpress博客平臺

##編寫.yaml文件:
[root@sqm-docker01 wordpress]# vim docker-compose.yaml
version: '3.1'   #版本為3.1

services:
  wordpress:
    image: wordpress   #鏡像為wordpress
    restart: always
    volumes:      
      - /root/wordpress/MySQL:/var/lib/mysql   #將數(shù)據(jù)庫的數(shù)據(jù)進行持久化,會自動將容器內(nèi)的目錄掛載到當(dāng)前目錄下
    ports:
      - 8080:80      #映射端口(宿主機:容器)
    environment:    #定義變量,定義信息要與下面的數(shù)據(jù)庫信息相同
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: 123.com
      WORDPRESS_DB_NAME: wordpress

  db:      #定義mysql的鏡像,以及用戶名和密碼
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
            MYSQL_PASSWORD: 123.com
      MYSQL_ROOT_PASSWORD: 123.com
//運行該yaml文件:
[root@sqm-docker01 wordpress]# docker-compose  up -d 

Docker三劍客之docker-compose
//查看容器是否允許:
Docker三劍客之docker-compose

登錄web網(wǎng)頁
訪問地址:http://172.16.1.30:8080/
Docker三劍客之docker-compose

Docker三劍客之docker-compose
Docker三劍客之docker-compose
Docker三劍客之docker-compose

docker-compose常用命令:

#查看幫助
docker-compose -h

#-f  指定使用的 Compose 模板文件,默認(rèn)為 docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d 

#啟動所有容器,-d 將會在后臺啟動并運行所有的容器
docker-compose up -d

#停用移除所有容器以及網(wǎng)絡(luò)相關(guān)
docker-compose down

#查看服務(wù)容器的輸出
docker-compose logs

#列出項目中目前的所有容器
docker-compose ps

#構(gòu)建(重新構(gòu)建)項目中的服務(wù)容器。服務(wù)容器一旦構(gòu)建后,將會帶上一個標(biāo)記名,例如對于 web 項目中的一個 db 容器,可能是 web_db。可以隨時在項目目錄下運行 docker-compose build 來重新構(gòu)建服務(wù)
docker-compose build

#拉取服務(wù)依賴的鏡像
docker-compose pull

#重啟項目中的服務(wù)
docker-compose restart

#刪除所有(停止?fàn)顟B(tài)的)服務(wù)容器。推薦先執(zhí)行 docker-compose stop 命令來停止容器。
docker-compose rm 

#在指定服務(wù)上執(zhí)行一個命令。
docker-compose run ubuntu ping docker.com

#設(shè)置指定服務(wù)運行的容器個數(shù)。通過 service=num 的參數(shù)來設(shè)置數(shù)量
docker-compose scale web=3 db=2

#啟動已經(jīng)存在的服務(wù)容器。
docker-compose start

#停止已經(jīng)處于運行狀態(tài)的容器,但不刪除它。通過 docker-compose start 可以再次啟動這些容器。
docker-compose stop

網(wǎng)頁標(biāo)題:Docker三劍客之docker-compose
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article36/ieggsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、營銷型網(wǎng)站建設(shè)、軟件開發(fā)、全網(wǎng)營銷推廣網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
日韩精品视频香蕉视频| 欧美区一区二在线播放| 亚洲国产精品肉丝袜久久| 色一情一伦一区二区三| 日本人妻中出在线观看| 国产在线日韩精品欧美| 亚洲欧美日本国产有色| 欧美日韩国内一区二区| 91老熟妇嗷嗷叫太91| 中文字幕人妻综合一区二区| 国产麻豆成人精品区在线观看| 一区二区在线激情视频| 日韩欧美中文字幕av| 色丁香之五月婷婷开心| 国产av乱了乱了一区二区三区| 欧美韩日在线观看一区 | 丰满人妻熟妇乱又伦精另类视频| 亚洲欧美日韩精品永久| 黄片美女在线免费观看| 精品少妇人妻av一区二区蜜桃| 欧美一区二区三区播放| 色丁香之五月婷婷开心| 色综合久久六月婷婷中文字幕| 国产成人免费高潮激情电| 日本免费熟女一区二区三区| 国产精品白丝一区二区| 国产无摭挡又爽又色又刺激| 久久国产精品热爱视频| 日韩一区二区三区观看| 黄色片一区二区在线观看| 国产精品久久精品毛片| 又大又长又粗又黄国产| 中文字幕亚洲在线一区| 亚洲精品中文字幕在线视频| 精品欧美国产一二三区| 字幕日本欧美一区二区| 日本欧美一区二区三区高清| 国产精品色热综合在线| 精品久久少妇激情视频| 香蕉久久夜色精品国产尤物 | 国产精品欧美在线观看|