站長資訊網
最全最豐富的資訊網站

什么是docker 容器編排

在docker中,通過執行一個YAML文件,將文件中所定義的多個容器依次啟動,這就是容器編排;實現容器編排的工具是“docker-compose”。YAML文件會定義一系列的容器以及容器運行時的屬性,Compose會根據這些配置來管理容器。

什么是docker 容器編排

本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

Docker容器編排

什么是容器編排
  • 通過執行一個文件,將文件中所定義的多個容器依次啟動,這就是容器編排
  • 這個文件就是yaml文件

用來實現容器編排的工具

  • docker-compose

    可以通過安裝Docker Compose工具來實現基于YAML文件的容器編排,YAML文件會定義一系列的容器以及容器運行時的屬性,Docker Compose會根據這些配置來管理容器。

安裝docker-compose

  • docker-compose在epel源中
[root@worker1 ~]# yum install epel-release -y [root@worker1 ~]# yum install docker-compose -y

docker-compose命令的使用

  • 格式:docker-compose [選項]

  • 選項

    • up:啟動定義在yaml文件中的容器
    • down:關閉定義在yaml文件中的容器
    • -f x.yaml:指定docker-compose所要讀取的yaml文件
    • -d:在后臺執行操作
    • ps:查看基于docker-compose所啟動的容器的狀態
    • logs:查收啟動容器過程中的日志信息,用于排除錯誤
案例:

編寫docker-compose.yaml文件來啟動兩個容器:nginx,php

1)準備環境

  • 安裝epel
  • 安裝docker-compose
  • 重啟docker
  • 重啟防火墻
[root@master ~]# yum install docker -y [root@master ~]# yum install epel-release -y [root@master ~]# yum install docker-compose -y [root@master ~]# systemctl restart docker [root@master ~]# systemctl restart firewalld

2)創建yaml文件

# 編寫yam文件,在文件實現自動啟動nginx容器 [root@worker1 ~]# vim docker-compose.yaml
version: '2' services:   web:     image: nginx:1.17.10     ports:       - 80:80     volumes:       - /opt/html:/web       - /opt/conf/nginx.conf:/etc/nginx/nginx.conf
  • version:指定版本號,2
  • services:設置要啟動服務,一個服務就是一個docker容器

2)nginx 啟動容器

[root@worker1 ~]# docker-compose up -d

查看基于yaml文件啟動的容器的狀態

[root@master ~]# docker-compose ps    Name            Command          State         Ports        -------------------------------------------------------------- root_web_1   nginx -g daemon off;   Up      0.0.0.0:80->80/tcp
  • 狀態主要是是state:如果是UP,表示正常

查看啟動容器過程中的日志信息

[root@worker1 ~]# docker-compose logs

關閉基于yaml文件所啟動的容器

[root@worker1 ~]# docker-compose down

3)在第二步的基礎上編輯yaml文件,啟動php服務

第一步:修改yaml文件

version: '2'services:   web:     image: nginx     ports:       - 80:80     volumes:       - /opt/html:/web       - /opt/conf/nginx.conf:/etc/nginx/nginx.conf     links:               # 指定php容器的名稱       - php   php:                   # 此處需要和links中的值保持一致     image: php:5.6-fpm     container_name: php   # 此處需要和links中的值保持一致     volumes:       - /opt/php:/php

第二步:修改nginx的配置文件

[root@master ~]# vi /opt/conf/nginx.conf          location ~ .php$ {             root           /php;             fastcgi_pass   php:9000;    # 指定php容器名稱,docker會自動將名稱轉換成ip             fastcgi_index  index.php;                  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;             include        fastcgi_params;         }

第三步:啟動服務

[root@master ~]# docker-compose up -d [root@master ~]# docker-compose ps Name         Command                        State         Ports        ----------------------------------------------------------------------- php          docker-php-entrypoint php-fpm   Up           9000/tcp           root_web_1   nginx -g daemon off;            Up           0.0.0.0:80->80/tcp

容器編排應用題1

1 準備一臺Centos7的服務器,檢測網絡正常

2 檢查服務器docker運行是否正常,如沒有請安裝

3 請編寫wordpress.yml模板文件,格式正確

4 請新建服務mysql和wordpress,wordpress的啟動依賴于mysql服務

5 將/opt/wordpress/data目錄掛載到到mysql容器的/var/lib/mysql目錄下,做持久存儲!

6 MySQL初始信息包括:root密碼,創建的數據庫,普通用戶,普通用戶的密碼

7 wordpress數據庫配置正確

8 wordpress做端口映射,將wordprss的80端口映射在宿主機的8000端口上

# 這個yaml文件要啟動兩個容器 version: '2' services:   # 第一個容器:wordpress容器   wordpress:     # 指定鏡像名稱     image: wordpress     # 將容器的80端口映射到宿主機的8000     ports:       - 8000:80     # 設置將mysql容器的名稱解析程序mysql容器的IP     links:       - mysql     # 設置容器之間依賴關系,設置成必須先啟動mysql容器才啟動wordpress容器     depends_on:       - mysql   # 第二個容器:MySQL容器   mysql:     # 指定鏡像名名稱是mysql     image: mysql:5.6     # 設置容器的名稱的是mysql     container_name: mysql     # 設置邏輯卷掛載     volumes:        - /opt/wordpress/data:/var/lib/mysql      # 設置mysql容器的環境變量     environment:       # 設置mysql容器中mysql的root密碼為123       MYSQL_ROOT_PASSWORD: 123       # 為wordpress創建一個數據庫,庫名是wordpress       MYSQL_DATABASE: wp          # 創建一個普通用戶wp       MYSQL_USER: wp       # 為上面的普通用戶設置密碼是wp       MYSQL_PASSWORD: wp

9 docker-compose成功啟動各個容器,成功訪問到wordpress頁面

[root@master ~]# docker-compose up -d [root@master ~]# docker ps
  • 瀏覽器訪問:http://ip:8000

推薦學習:《docker視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲美日韩Av中文字幕无码久久久妻妇| 久九九精品免费视频| 国产精品美女免费视频观看| 日韩十八禁一区二区久久| 网曝门精品国产事件在线观看 | 国产亚洲婷婷香蕉久久精品| 成人精品视频在线观看| 亚洲日韩精品一区二区三区| 国产精品亚洲专区无码不卡| 精品久久中文字幕有码| 欧美日韩久久久精品A片| 久热爱精品视频线路一| avtt天堂网久久精品| 久久亚洲精品专区蓝色区| 精品国产鲁一鲁一区二区| 12345国产精品高清在线| 91精品国产高清久久久久久| 漂亮人妻被黑人久久精品| 亚洲国产精品一区二区久久| 久久精品免视看国产成人| 久久久久琪琪去精品色无码| 亚洲AV无码久久精品成人| 国产精品ⅴ无码大片在线看| 国产精品ⅴ无码大片在线看| 久久精品国产2020观看福利| 亚洲国产精品无码久久久蜜芽| 久久久久国产精品| 久久最新精品国产| 亚洲国产精品VA在线看黑人| 久久精品视频久久| 亚洲精品高清视频| 91成人精品视频| 精品久久久久久亚洲精品| 国产在视频线精品视频2021| 在线播放国产精品| 九九热在线视频精品| 精品国产麻豆免费网站| 国产成人精品免费直播 | 亚洲国产精品无码久久一线| 小辣椒福利视频精品导航| 99re热这里只有精品18|