使用意義
- 之前運(yùn)行一個(gè)鏡像缎除,需要添加大量參數(shù)
- 可通過(guò)Docker-Compose編寫(xiě)這些參數(shù)
- Docker-Compose可以幫助我們批量管理容器
- 只需要一個(gè)docker-compose.yml文件去維護(hù)即可
1.下載Docker-Compose
(1) 去github官網(wǎng)搜索docker-compose,下載所需版本
(2) 將下載好的文件墓律,拖拽到linux系統(tǒng)中(secureCRT使用alt+p振诬,把文件拖入窗口,即可把文件上傳至/root目錄下)
(3) 將文件名稱(chēng)修改一下嘀趟,并賦予可執(zhí)行權(quán)限
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose
(4) 方便后期操作雄驹,配置一個(gè)環(huán)境變量,將docker-compose文件移動(dòng)到/usr/local/bin荣堰,修改/etc/profile文件
mv docker-compose /usr/local/bin
vim /etc/profile
export PATH=$JAVA_HOME:/usr/local/bin:PATH
source /etc/profile
(5) 任意目錄輸入docker-compose測(cè)試一下
2.docker-compose管理tomcat和mysql
- .yml文件介紹
key: value的形式編寫(xiě)配置信息
多個(gè)配置信息以換行/縮進(jìn)的形式組合
version: '3.1' # 對(duì)應(yīng)指定版本
services:
mysql: # 服務(wù)名稱(chēng)
restart: always # 只要docker啟動(dòng)感耙,這個(gè)容器跟著啟動(dòng)
image: daocloud.io/library/mysql:8.0.2 # 指定鏡像路徑
container_name: mysql # 指定容器名稱(chēng)
ports:
- 3306:3306 # 指定端口映射
environment:
MYSQL_ROOT_PASSWORD: root # 指定root密碼
TZ: Asia/Shanghai # 時(shí)區(qū)
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 數(shù)據(jù)卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
3.使用docker-compose命令管理容器
docker-compose命令會(huì)默認(rèn)在當(dāng)前目錄下尋找docker-compose.yml
(1) 啟動(dòng)容器docker-compose -up -d
(2)關(guān)閉刪除容器docker-compose down
(3)開(kāi)啟|關(guān)閉|重啟由docker-compose創(chuàng)建的容器docker-compose start|stop|restart
(4)查看容器docker-compose ps
(5)查看日志docker-compose logs -f
4.docker-compose配合dockerfile使用
# yml文件
version: '3.1'
services:
ssm:
restart: always
build:
context: ../ # 指定dockerfile文件所在路徑,此處位與上級(jí)目錄
dockerfile: Dockerfile # Dockerfile文件名稱(chēng)
image: ssm:1.0.1
container_name: ssm
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai
# Dockerfile
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
直接啟動(dòng)基于docker-compose.yml文件構(gòu)建的自定義鏡像
docker-compose up -d
重新構(gòu)建自定義鏡像
docker-compose build
運(yùn)行前重新構(gòu)建
docker-compose up -d --build