首页
关于
推荐
搜索定位器
视频解码
电源计划
软件资源
博客友链
搜索
1
开源软件:m3u8.sqlite文件转视频工具
985 阅读
2
欢迎来到我的世界
753 阅读
3
iKuai+Openwrt实现虚拟WAN分流,再也不用担心旁路网关崩了影响全局网络
689 阅读
4
AI:ChatGPT,假如你是Java架构师
662 阅读
5
开源软件:Windows网络驱动器管理工具
629 阅读
资料整理
软件发布
世新家装
萌宠乐园
登录
搜索
标签搜索
Docker
CentOS7
开源软件
Jenkins
MySQL
JVM
世新家装
ZStack
Java
Spring
Shell脚本
docker-compose
iKuai
ESXi
Bean
BeanDefinition
小太阳鹦鹉
欢迎
C#
WPF
卖萌小老头
累计撰写
51
篇文章
累计收到
8
条评论
首页
栏目
资料整理
软件发布
世新家装
萌宠乐园
页面
关于
推荐
搜索定位器
视频解码
电源计划
软件资源
博客友链
搜索到
2
篇与
docker-compose
的结果
2023-08-12
使用docker-compose搭建elk
概要步骤:1、准备logstash配置文件2、准备kibana配置文件3、准备docker-compose.yml4、启动并验证1、准备logstash配置文件# 在etc下创建配置文件目录 mkdir -p /etc/logstash/{config,pipeline} # 创建pipelines.yml touch /etc/logstash/config/pipelines.yml cat>/etc/logstash/config/pipelines.yml<<EOF - pipeline.id: api-main path.config: /usr/share/logstash/pipeline/logstash-api-main.conf pipeline.workers: 3 - pipeline.id: edge-main path.config: /usr/share/logstash/pipeline/logstash-edge-main.conf pipeline.workers: 3 - pipeline.id: xtl-server path.config: /usr/share/logstash/pipeline/logstash-xtl-server.conf pipeline.workers: 3 EOF # 分别创建 conf # 创建logstash-api-main.conf文件 touch /etc/logstash/pipeline/logstash-api-main.conf # 写入文件内容 cat>/etc/logstash/pipeline/logstash-api-main.conf<<EOF input { tcp { mode => "server" host => "0.0.0.0" port => 4560 codec => json_lines } } output { elasticsearch { hosts => "es:9200" index => "api-main-logstash-%{+YYYY.MM.dd}" } } EOF # 创建logstash-edge-main.conf文件 touch /etc/logstash/pipeline/logstash-edge-main.conf # 写入文件内容 cat>/etc/logstash/pipeline/logstash-edge-main.conf<<EOF input { tcp { mode => "server" host => "0.0.0.0" port => 4561 codec => json_lines } } output { elasticsearch { hosts => "es:9200" index => "edge-main-logstash-%{+YYYY.MM.dd}" } } EOF # 创建logstash-xtl-server.conf文件 touch /etc/logstash/pipeline/logstash-xtl-server.conf # 写入文件内容 cat>/etc/logstash/pipeline/logstash-xtl-server.conf<<EOF input { tcp { mode => "server" host => "0.0.0.0" port => 4562 codec => json_lines } } output { elasticsearch { hosts => "es:9200" index => "xtl-server-logstash-%{+YYYY.MM.dd}" } } EOF2、准备kibana配置文件# 创建配置文件夹 mkdir -p /etc/kibana/config # 创建配置文件 touch /etc/kibana/config/kibana.yml # 写入文件内容 cat>/etc/kibana/config/kibana.yml<<EOF server.host: '0.0.0.0' server.shutdownTimeout: '5s' elasticsearch.hosts: ['http://elasticsearch:9200'] monitoring.ui.container.elasticsearch.enabled: true EOF3、准备docker-compose.yml# 创建文件夹 mkdir -p /etc/docker-compose/ # 创建文件 touch /etc/docker-compose/docker-compose-elk.yml # 写入文件内容(网络部分注释原因:如果单独部署ELK需要开启,和其他编排使用编排网络) cat>/etc/docker-compose/docker-compose-elk.yml<<EOF version: '3.2' services: elasticsearch: image: elasticsearch:7.17.4 volumes: - /etc/localtime:/etc/localtime - /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载 - /data/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载 expose: - 9200 - 9300 ports: - '9200:9200' - '9300:9300' container_name: elasticsearch restart: always environment: - 'cluster.name=elasticsearch' #设置集群名称为elasticsearch - 'discovery.type=single-node' #以单一节点模式启动 - 'ES_JAVA_OPTS=-Xms1024m -Xmx1024m' #设置使用jvm内存大小 networks: - wsd_net privileged: true logstash: image: logstash:7.17.4 container_name: logstash restart: always volumes: - /etc/localtime:/etc/localtime - /etc/logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml - /etc/logstash/pipeline/logstash-api-main.conf:/usr/share/logstash/pipeline/logstash-api-main.conf - /etc/logstash/pipeline/logstash-edge-main.conf:/usr/share/logstash/pipeline/logstash-edge-main.conf - /etc/logstash/pipeline/logstash-xtl-server.conf:/usr/share/logstash/pipeline/logstash-xtl-server.conf expose: - 5044 - 5000 - 9600 - 4560 - 4561 - 4562 ports: - '5044:5044' - '5000:5000/tcp' - '5000:5000/udp' - '9600:9600' - '4560:4560' - '4561:4561' - '4562:4562' environment: LS_JAVA_OPTS: -Xms1024m -Xmx1024m TZ: Asia/Shanghai # MONITORING_ENABLED: false links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 networks: - wsd_net depends_on: - elasticsearch privileged: true kibana: image: kibana:7.17.4 container_name: kibana restart: always volumes: - /etc/localtime:/etc/localtime - /etc/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml expose: - 5601 ports: - '5601:5601' links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 environment: - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址 - 'elasticsearch.hosts=http://es:9200' #设置访问elasticsearch的地址 - I18N_LOCALE=zh-CN networks: - wsd_net depends_on: - elasticsearch privileged: true #networks: # elk: # name: elk # driver: bridge # ik 分词器的安装 # 集群 docker-compose exec elasticsearch elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.4/elasticsearch-analysis-ik-7.17.4.zip # 单点 bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.4/elasticsearch-analysis-ik-7.17.4.zip # EOF4、启动并验证# 进入docker-compose编排配置文件 cd /etc/docker-compose # 启动 docker-compose -f docker-compose.yml -f docker-compose-elk.yml up -d elasticsearch logstash kibana请求并验证假设服务器为172.28.0.161浏览器访问http://172.28.0.161:5601页面上加入演示数据验证springboot接入elk日志
2023年08月12日
364 阅读
0 评论
0 点赞
2022-09-18
docker-compose笔记
docker 和 docker-compose 对比1、Docker进行项目部署存在的问题2、假设未编排的容器启动顺序缺陷:容器间,不能使用容器名称访问什么是Docker Composecompose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排快速编排:站在项目角度讲一组相关联容器整合在一起,对这组容器按照指定顺序启动。compose定位于多个docker容器管理理解docker-compose.yml 就是一个compose应用(project)应用(project)就是docker-compose.ymlProject:有一组关联的应用容器(服务)组成一个完整的业务单元,在docker-compose.yml文件中定义Service:一个项目中某一个容器,称之为服务安装注意:只有Linux平台上安装Docker时,没有安装docker-compose,Windows、MacOS安装Docker时自动安装docker-compose1、在线安装# 下载文件,{1.16.1}为变量,根据自己的需求下载 sudo curl -L https://github.com/docker/compose/releases/download/{1.16.1}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 修改权限 chmod +x /usr/local/bin/docker-compose2、离线安装# a、下载docker-compose脚本 # b、放入/usr/local/bin目录 # c、修改权限命令指定这个命令在docker-compose.yml配置文件目录docker-compose up # 启动 docker-compose down # 停止docker-compose 命令 项目|项目中某个服务 注意:没有特殊说明,默认都是对项目操作语法:docker-compose -f docker-compose.yml 命令 [选项] [服务ID]up -d [服务ID] docker-compose up 启动整个项目docker-compose up [服务ID] 对当前docker-compose中对应的服务ID的容器操作down docker-compose down 停止整个项目docker-compose down [服务ID] 注意:docker-compose down 关闭所有容器,并溢出网络exec docker-compose exec [服务ID] bash # 进入指定容器ps docker-compose ps # 列出所有运行的服务,-q 只显示IDrestart docker-compose restart 重启整个项目docker-compose restart -t 20 [服务ID] 20s后重启指定服务容器rmdocker-compose rm -f(强制删除) [服务ID] -v(删除容器锁挂载的数据卷)不指定服务ID时,删除所有停止的服务注意:-v谨慎使用topdocker-compose top [服务ID] 查看整个项目中所有服务容器内运行进程或指定服务ID的容器的进程pause暂停 和 unpause回复docker-compose (pause|unpause) [服务ID] 暂停或回复所有服务或指定服务ID的服务logsdocker-compose logs -f(实时)[服务ID] 查看日志示例docker-compose.yaml(引用已有镜像的)# 代表使用docker-compose项目的版本号 # https://docs.docker.com/compose/compose-file/compose-file-v3/ version: "3" services: app: #container_name:web-app1 # 代表给容器指定一个名称 类似于docker run --name 参数 image: app:1.0 ports: - 8080:8080 redis: image: redis:5.0.21 ports: - 6379:6379 mysql: image: mysql:5.7.21 ports: - 3306:3306 environment: # 代表给当前容器指定环境,类似于docker run -e MYSQL_ROOT_PASSWORD=root - "MYSQL_ROOT_PASSWORD=root" volumes: #- /home/mysql/data:/var/lib/mysql # 绝对路径 - mysqlData:/var/lib/mysql # 相对路径,但是需要先申明 volumes: mysqlData:docker-compose.yaml(根据Dockerfile构建)# 代表使用docker-compose项目的版本号 # https://docs.docker.com/compose/compose-file/compose-file-v3/ version: "3" services: apps: # build: ./ # 指定Dockerfile上下文目录,一切都是默认值 build: context: ./ # 指定Dockerfile上下文目录 dockerfile: Dockerfile # 指定Dockerfile文件名称 ports: - 8085:8085 # command:["app-2.0.jar"] # 用来覆盖容器启动后默认指令,类似于docker run image 覆盖的指令 depends_on: - mysql - redis networks: - appNetwork redis: image: redis:5.0.21 ports: - 6379:6379 networks: - appNetwork mysql: image: mysql:5.7.21 ports: - 3306:3306 #environment: # 代表给当前容器指定环境,类似于docker run -e MYSQL_ROOT_PASSWORD=root #MYSQL_ROOT_PASSWORD: root env_file: - ./common.env - ./config.env volumes: #- /home/mysql/data:/var/lib/mysql # 绝对路径 - mysqlData:/var/lib/mysql # 相对路径,但是需要先申明 networks: - appNetwork # 申明存储卷 volumes: mysqlData: # 声明网桥 networks: appNetwork:common.env 文件MYSQL_ROOT_PASSWORD: root自定义build,而不是应用已有镜像docker-compose.yml中支持模板命令build 通过docker-compose在启动容器之前根据Dockerfile构建镜像,然后根据构建镜像启动容器command 覆盖容器启动后默认执行的命令container_name 指定docker-compose启动容器名称,(注意:不推荐指定容器名称)depends_on 解决容器的依赖,启动先后的问题注意:当前服务不会等待被依赖的服务【完全启动】之后才启动environment 用来给容器启动指定环境变量,相当于docker run -eenv_file 用来给容器指定环境变量文件expose 用来指定构建镜像过程中容器暴露的端口号image 用来指定启动容器使用的镜像是谁,相当于docker run image(镜像)network 用来指定启动的容器使用的网桥,相当于docker run --networkports 用来指定宿主机和容器之间的端口映射,相当于docker run -pvolumes 用来指定宿主机目录和容器中目录映射,相当于docker run -vrestart 用来指定docker容器(服务)总是运行,相当于docker run --restart=always
2022年09月18日
346 阅读
0 评论
0 点赞