1. 程式人生 > 其它 >|NO.Z.00008|——————————|CloudVirtualiZation|——|Cloud&Docker.V06|------------------------------------------|多容器管理|

|NO.Z.00008|——————————|CloudVirtualiZation|——|Cloud&Docker.V06|------------------------------------------|多容器管理|



[CloudVirtualiZation:Cloud&Docker.V06]                                                      [Applications.CloudVirtualiZation] [|docker|docker容器管理|docker容器基礎命令|單一容器管理|多容器管理|docker-compose]








一、多容器管理:docker-compost
### --- 多容器管理:docker-compost

~~~     docker提倡理念是“一個容器一個程序”,假設一個服務需要由多個程序組成,
~~~     就需要多個容器組成一個系統,相互分工和配合對外提供完整的服務
~~~     比如:部落格系統
~~~     元件1:mariadb
~~~     元件2:WordPress 的 apache web
### --- 在啟動容器時,同一臺主機下如果兩個容器之間需要由資料交流,
~~~     使用--link選項建立兩個容器之間的互聯,前提是建立mariadb已經啟動
docker start db 
docker start MywordPress     

### --- 停止:
docker stop db MywordPress 
~~~     # OR
docker stop MywordPress 在docker stop db
二、docker-compose install 
### --- docker-compose install 

~~~     容器編排工具,允許使用者在一個模板(YAML格式)中定義一組相關聯的容器,
~~~     會根據--link等引數符容器的優先順序進行排序
### --- docker-compse下載地址:
[root@localhost ~]# curl -L https://github.com/docker/compost/releases/download/1.14.0/docker-compse-uname-s -uname -m > /usr/local/bin/docker-compose

### --- 下載docker-compse配置檔案
### --- 上傳到/usr/local/bin/目錄下
[root@localhost ~]# mv docker-compose /usr/local/bin/
[root@localhost ~]# chmod a+x /usr/local/bin/docker-compose 
[root@localhost ~]# docker-compose --version
docker-compose version 1.23.1, build b02f1306
### --- docker-compose用法    

-f                                          // 指定使用的yaml檔案位置
ps                                          // 顯示所有容器資訊
restart                                     // 重新啟動容器
logs                                        // 檢視日誌資訊
config -q                                   // 驗證yaml配置檔案是否正確
stop                                        // 停止容器
start                                       // 啟動容器;目前容器已經成為容器,啟動
up -d                                       // 啟動容器姓名;目前映象還未轉換成容器;轉換為容器
pause                                       // 暫停容器
unpause                                     // 恢復暫停
rm                                          // 刪除容器
### --- docker-compose yml演示:docker-compose yml檔案

[root@localhost ~]# vim wordpress.yaml
version: '2'

services:
   db:
     image: mysql:5.7
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     restart: always
     ports:
       - "8000:80"
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
[root@localhost ~]# mv wordpress.yaml docker-compose.yaml
 
[root@localhost ~]# docker-compose up -d
Creating network "root_default" with the default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
6ec7b7d162b2: Already exists
Creating root_db_1_ff0e170e8e51 ... done
Creating root_wordpress_1_d9be77414585 ... done
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS                  NAMES
63b42d67206c        wordpress:latest    "docker-entrypoint..."   2 minutes ago       Up 2 minutes              0.0.0.0:8000->80/tcp   root_wordpress_1_4d788639c1ba
8792d83ffa3e        mysql:5.7           "docker-entrypoint..."   2 minutes ago       Up 2 minutes              3306/tcp, 33060/tcp    root_db_1_6e3eaf62dbab

[root@localhost ~]# docker-compose logs








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)