建站网址是多少,怀化二医院网站,网站建设策略阿里巴巴,网站alexa排名一、Docker-compose
1、概念#xff1a;
Docker-Compose 是 Docker 官方的开源项目#xff0c;负责实现对Docker容器集群的快速编排。
2、作用#xff1a;
Docker-Compose可以管理多个Docker容器组成一个应用。需要定义一个yaml格式的配置文件 docker-compose.yml#…一、Docker-compose
1、概念
Docker-Compose 是 Docker 官方的开源项目负责实现对Docker容器集群的快速编排。
2、作用
Docker-Compose可以管理多个Docker容器组成一个应用。需要定义一个yaml格式的配置文件 docker-compose.yml配置好多个容器之间的调用关系然后只需要一个命令就能同时启动/关闭这些容器。
3、compose核心概念
① 一文件docker-compose.yml
② 两要素
项目 (project)由一组关联的容器组成的一个完整业务单元
服务 (service)一个项目中的某一个容器实例 。
4、compose 使用步骤
① 编写 Dockerfile 定义各个应用容器构建出对应的镜像文件
② 使用 docker-compose.yml定义一个完整的业务单元安排好整体应用中的各个容器服务
③ 执行 docker-compose up 命令创建并运行整个应用程序完成一键部署上线。
5、compose示例
compose模版https://docker_practice.gitee.io/compose/compose_file.html
(1) 创建一个项目
mkdir /root/ems/ 以ems目录作为项目名
(2) 在ems目录里创建一个docker-compose.yml文件
① version
每个模版文件需要写上version版本号代表所使用的docker-compose的项目版本。 ● 版本号的选择与docker引擎有关 官方提供的compose版本号与docker引擎的对应关系 ② services
在模版文件里定义需要启动的容器
● 启动 tomcat 若要启动另一个tomcat则要再写一组服务 ● 启动 redis ● 启动 mysql (3) 启动docker-compose服务
docker compose up
这个命令必须在docker-compose.yml配置文件目录下执行 ● 查看服务 tomcat redis mysql ● 停止服务 附完整docker-compose.yml
#代表使用的docker-compose项目版本号
version: 3.8services:tomcat1: #tomcat服务名名称唯一image: tomcat:8.0 #所使用的镜像ports: #宿主机8080端口映射容器8080端口- 8080:8080tomcat2:image: tomcat:8.0ports:- 8081:8080redis1:image: redis:6.0.8ports:- 6379:6379mysql:image: mysql:5.7ports:- 3306:3306environment: #给当前容器启动指定环境 类似docker run -e MYSQL_ROOT_PASSWORD123456- MYSQL_ROOT_PASSWORD123456 volumes: #给当前容器指定数据卷 类似docker run -v- /root/mysqldata1:/var/lib/mysql
(4) 在IDEA上创建docker-compose.yml
远程连接docker服务器创建一个docker-compose.yml 编写docker-compose.yml可根据提示信息自动补齐编写完成后点击红框所示图标即可完成上传 宿主机上启动docker-compose服务 6、docker-compose 常用命令
(1) up
docker compose up [options] [SERVICE...]
该命令会尝试自动完成包括构建镜像创建服务启动服务并关联服务相关容器的一系列操作。
docker compose up启动的容器都在前台控制台将会同时打印所有容器的输出信息可以很方便进行调试。
docker compose up -d在后台启动并运行所有的容器。
(2) down
docker compose down关闭up命令所启动的服务容器并移除网络。
(3) exec
docker compose exec 服务id进入某个服务容器。
(4) restart
docker compose restart [options] [SERVICE...]重启项目中的服务
-t, --timeout TIMEOUT 指定重启前停止容器的超时默认为 10 秒。
(5) rm
docker compose rm [options] [SERVICE...]
删除所有停止状态的服务容器先执行 docker compose stop 命令停止容器。
-f 强制直接删除包括非停止状态的容器。
-v 删除容器所挂载的数据卷。
(6) top
docker compose top
查看项目中所有服务容器运行进程或某个指定id服务容器的进程。
(7) logs
docker compose logs [options] [SERVICE...]
查看整个项目或某个id服务容器的日志。
7、docker-compose 模版文件常用指令
https://vuepress.mirror.docker-practice.com/compose/compose_file/#
二、可视化工具Portainer
1、简介
Portainer是一款轻量级的应用提供图形化界面用于管理Docker环境。
官网Portainer: Container Management Software for Kubernetes and Docker 2、安装
(1) docker 命令安装
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restartalways -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.13.0-alpine (2) 登录
① 访问地址服务器ip:9000
② 设置 admin 密码 类似 docker system df 3、Portainer创建容器 三、容器监控CIG
1、简介
CAdvisor (监控收集) InfluxDB (存储数据) Granfana (展示图表)合称CIG (1) CAdvisor
CAdvisor是一个容器资源监控工具包括容器的内存、CPU、网络IO、磁盘IO等监控提供了一个Web页面用于查看容器的实时运行状态。
CAdvisor默认存储2分钟的数据而且只针对单物理机。不过CAdvisor提供了很多数据集成接口支持 InfluxDB、Redis、Kafka、Elasticsearch等集成可以加上对应配置将监控数据发往这些数据库存储起来。
(2) InfluxDB
为了持久化存储数据和统一收集展示监控数据需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库专门用于存储时序相关数据很适合存储 CAdvisor 的数据。
(3) Granfana
Grafana是一个开源的数据监控分析可视化平台支持多种数据源配置和丰富的插件及模板功能支持图表权限控制和报警。
2、docker-compose 部署 CIG
(1) 新建docker-compose.yml
① 新建目录mkdir /mydocker/cig -p
② 编写docker-compose.yml services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- 8083:8083 - 8086:8086 volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisor:v0.32.0links:- influxdb:influxsrvcommand:- -storage_driverinfluxdb- -storage_driver_dbcadvisor- -storage_driver_hostinfluxsrv:8086restart: alwaysports:- 8080:8080volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:image: grafana/grafana:8.5.2user: 104restart: alwayslinks:- influxdb:influxsrvports:- 3000:3000volumes:- grafana_data:/var/lib/grafanaenvironment:- HTTP_USERadmin- HTTP_PASSadmin- INFLUXDB_HOSTinfluxsrv- INFLUXDB_PORT8086
docker compose config -q检查.yml文件语法
(2) 启动docker-compose文件并检查服务是否启动 3、测试
(1) 浏览CAdvisor收集服务 (2) 浏览 influxdb 存储服务 (3) 浏览 grafana 展现服务 初始用户名admin 密码admin ● grafana 配置
① 配置数据源 ② 配置面板panel