|NO.Z.00008|——————————|CloudVirtualiZation|——|Cloud&Docker.V06|------------------------------------------|多容器管理|
阿新 • • 發佈:2022-03-27
[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)