用wordpress建站效果怎么样,手机网站怎么布局,深圳全网推广效果如何,做图模板下载网站文章目录 9. compose编排9.1 介绍9.2 安装9.3 compose常用命令9.4 实战Springboot部署9.4.1 准备组件配置文件9.4.1.1 redis的配置文件9.4.1.2 MySQL的配置文件9.4.1.3 SpringBoot打包文件 9.4.2 准备docker-compose.yml9.4.3 启动服务9.4.4 测试验证 9.5 实战ElasticsearchKib… 文章目录 9. compose编排9.1 介绍9.2 安装9.3 compose常用命令9.4 实战Springboot部署9.4.1 准备组件配置文件9.4.1.1 redis的配置文件9.4.1.2 MySQL的配置文件9.4.1.3 SpringBoot打包文件 9.4.2 准备docker-compose.yml9.4.3 启动服务9.4.4 测试验证 9.5 实战ElasticsearchKibana案例9.5.1 准备组件配置文件9.5.1.1 Elasticsearch配置9.5.1.2 Kibana配置 9.5.2 docker-compose配置9.5.3 验证测试 9. compose编排
9.1 介绍
多服务部署工具通过一个docker-compose.yml模板文件定义一组关联的应用容器为一个项目。 简单来说就是当我们一个项目有多个服务需要启动时通过docker-compose直接一键启动就可以将所有相关的服务同时启动或者停止。
9.2 安装
参考官方安装文档https://docs.docker.com/compose/install/linux/ 以下两种方式都可以 第一种包管理器安装
sudo yum install docker-compose-plugin第二种手工安装
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod x /usr/local/bin/docker-compose# 通常不需要执行这句
#sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose#查看版本
docker-compose --version#卸载方法
sudo rm /usr/local/bin/docker-compose9.3 compose常用命令
说明命令docker-compose -h帮助docker-compose up启动所有docker-compose服务docker-compose up -d启动所有docker-compose服务并后台运行docker-compose down停止并删除容器网络卷镜像docker-compose exec yml里面的服务id进入容器内部停止并删除容器网络卷镜像docker-compose ps展示当前运行的所有容器docker-compose top展示当前运行的容器进程docker-compose logs yml的服务id查看容器输出日志docker-compose config检查配置docker-compose config -q检查配置,有问题才输出docker-compose restart重启服务docker-compose start启动服务docker-compose stop停止服务
9.4 实战Springboot部署
使用docker-compose来启动springboot项目。 使用到springboot、redis、mysql组件。
9.4.1 准备组件配置文件
9.4.1.1 redis的配置文件
redis配置文件 /docker/redis/redis.conf
# 开启 AOF 持久化
appendonly yes# 指定 AOF 文件名
appendfilename appendonly.aof# 指定 AOF 文件保存目录
dir /data# 关闭 RDB 持久化
save
# 开启 RDB 持久化
#save 900 1
#save 300 10
#save 60 10000# 禁用 Redis 的保护模式允许外部连接
protected-mode no# 允许其他服务访问
bind 0.0.0.0# 指定 Redis 监听的端口
port 6379# 指定日志生成的文件
logfile redis.log9.4.1.2 MySQL的配置文件
mysql的配置文件/docker/mysql/conf/my.cnf
[client]default-character-setutf8[mysql]default-character-setutf8[mysqld]init_connectSET collation_connection utf8_unicode_ciinit_connectSET NAMES utf8character-set-serverutf8collation-serverutf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve9.4.1.3 SpringBoot打包文件
springboot 使用7.6.3中打包的镜像springboot:1.0 参考本系列连接跳转
9.4.2 准备docker-compose.yml
version: 3services: bootService:build: .image: springboot:1.0container_name: springbootenvironment:SPRING_PROFILES_ACTIVE: prodports:- 9002:9002volumes:- /app/microService:/datanetworks:- bridgedepends_on:- redis- mysqlredis:image: redis:6.2.13container_name: redisprivileged: trueports:- 6379:6379environment:- TZAsia/Shanghai- TAKE_FILE_OWNERSHIPtruevolumes:- /docker/redis/data:/data - /docker/redis/redis.conf:/etc/redis/redis.confnetworks:- bridgecommand: redis-server /etc/redis/redis.conf mysql:image: mysql:5.7container_name: mysqlprivileged: trueports:- 3306:3306networks:- bridgevolumes:- /docker/mysql/log:/var/log/mysql - /docker/mysql/data:/var/lib/mysql- /docker/mysql/conf/:/etc/mysql/conf.denvironment:MYSQL_ROOT_PASSWORD: rootMYSQL_ALLOW_EMPTY_PASSWORD: nocommand: --default-authentication-pluginmysql_native_password #解决外部无法访问networks:bridge:
9.4.3 启动服务
# 先检查配置是否有异常
docker-compose config -q# 启动所有容器
#第一次测试可以不使用-d
docker-compose up 一切正常转为后台运行
# 先移除所有的
docker-compose down# 再后台运行
docker-compose -d up9.4.4 测试验证
Commands:build Build or rebuild servicesconfig Parse, resolve and render compose file in canonical formatcp Copy files/folders between a service container and the local filesystemcreate Creates containers for a service.down Stop and remove containers, networksevents Receive real time events from containers.exec Execute a command in a running container.images List images used by the created containerskill Force stop service containers.logs View output from containersls List running compose projectspause Pause servicesport Print the public port for a port binding.ps List containerspull Pull service imagespush Push service imagesrestart Restart service containersrm Removes stopped service containersrun Run a one-off command on a service.start Start servicesstop Stop servicestop Display the running processesunpause Unpause servicesup Create and start containersversion Show the Docker Compose version informationwait Block until the first service container stops例如重启服务
# 查看服务
docker-compose ls#重启服务
docker-compose restart bootService# 启动服务
docker-compose start bootService# 停止服务
docker-compose stop bootService9.5 实战ElasticsearchKibana案例
9.5.1 准备组件配置文件
9.5.1.1 Elasticsearch配置
配置文件/docker/elasticsearch/config/elasticsearch.yml
network.host: 0.0.0.0
discovery.type: single-node9.5.1.2 Kibana配置
配置文件: /docker/kibana/config/kibana.yml
server.name: kibana
server.host: 0.0.0.0
elasticsearch.hosts: [ http://elasticsearch:9200 ] #
elasticsearch.username: admin
elasticsearch.password: admin
i18n.locale: zh-CN[“http://elasticsearch:9200”]这里elasticsearch是指容器的服务名不设置这个会导致kibana连接不上elasticsearch。
9.5.2 docker-compose配置
docker-compose.yml
version: 3.3
services:elasticsearch:image: elasticsearch:7.17.7 # 使用的镜像名称container_name: elasticsearch # 容器名称ports: # 指定暴露的端口- 9200:9200- 9300:9300environment: - ES_JAVA_OPTS -Xms2g -Xmx2g # 指定 JVM 内存大小volumes: # 指定挂载目录- /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /docker/elasticsearch/data:/usr/share/elasticsearch/data- /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins- /docker/elasticsearch/logs:/usr/share/elasticsearch/logsnetworks: - bridgekibana:image: kibana:7.17.7container_name: kibanaports:- 5601:5601depends_on: # 服务依赖- elasticsearchvolumes:- /docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.ymlnetworks:- bridge
networks:bridge:
9.5.3 验证测试
#启动
docker-compose up -d# 卸载
docker-compose down http://bidata:5601 访问