53 Star 323 Fork 232

zhengqingya / docker-compose

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

docker-compose-liunx

通过docker-compose编排一系列环境进行一键快速部署运行,小白运维神器。

docker-compose-liunx.png

安装docker

# 通过yum源安装docker
sudo yum -y install docker
# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker

docker-compose安装

# 安装EPEL软件包
sudo yum -y install epel-release
# 安装pip3
sudo yum install -y python36-pip
# 升级
sudo pip3 install --upgrade pip
# 验证pip3版本
pip3 --version
# docker-compose安装
sudo pip3 install -U docker-compose
# 验证docker-compose版本
docker-compose --version
# 安装补全插件
# curl -L https://raw.githubusercontent.com/docker/compose/1.25.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

docker-compose卸载

pip3 uninstall docker-compose

docker-compose相关命令

# 构建镜像
docker-compose build
# 构建镜像,--no-cache表示不用缓存,否则在重新编辑Dockerfile后再build可能会直接使用缓存而导致新编辑内容不生效
docker-compose build --no-cache
# config 校验文件格式是否正确
docker-compose -f docker-compose.yml config
# 运行服务
ocker-compose up -d
# 启动/停止服务
docker-compose start/stop 服务名
# 停止服务
docker-compose down
# 查看容器日志
docker logs -f 容器ID
# 查看镜像
docker-compose images
# 拉取镜像
docker-compose pull 镜像名

常用shell组合

# 删除所有容器
docker stop `docker ps -q -a` | xargs docker rm
# 删除所有标签为none的镜像
docker images|grep \<none\>|awk '{print $3}'|xargs docker rmi
# 查找容器IP地址
docker inspect 容器名或ID | grep "IPAddress"
# 创建网段, 名称: mynet, 分配两个容器在同一网段中 (这样子才可以互相通信)
docker network create mynet
docker run -d --net mynet --name container1 my_image
docker run -it --net mynet --name container1 another_image

环境准备

# 安装git命令: yum install -y git
git clone https://gitee.com/zhengqingya/docker-compose.git
cd docker-compose/Liunx

====================================================================================
========================= ↓↓↓↓↓↓ 环境部署 start ↓↓↓↓↓↓ ====================================
====================================================================================\

运行服务

Portainer

docker-compose -f docker-compose-portainer.yml -p portainer up -d

-p:项目名称
-f:指定docker-compose.yml文件路径
-d:后台启动

访问地址:ip地址:9000

MySQL

# 5.7
docker-compose -f docker-compose-mysql5.7.yml -p mysql5.7 up -d
# 8.0
docker-compose -f docker-compose-mysql8.0.yml -p mysql8.0 up -d

Yearning

docker-compose -f docker-compose-yearning.yml -p yearning up -d

访问地址:ip地址:8000 默认登录账号密码:admin/Yearning_admin

Oracle18c

docker-compose -f docker-compose-oracle18c.yml -p oracle18c up -d

配置参考:Docker(9) 安装Oracle18c

Couchbase

docker-compose -f docker-compose-couchbase.yml -p couchbase up -d

管理平台地址:ip地址:8091 默认登录账号密码:Administrator/password

Redis

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./redis
# 运行
docker-compose -f docker-compose-redis.yml -p redis up -d

连接redis

docker exec -it redis redis-cli -a 123456  # 密码为123456

Jrebel

docker-compose -f docker-compose-jrebel.yml -p jrebel up -d

默认反代idea.lanyus.com, 运行起来后

  1. 激活地址: ip地址:8888/UUID -> 注:UUID可以自己生成,并且必须是UUID才能通过验证 -> UUID在线生成
  2. 邮箱随意填写

Nginx

docker-compose -f docker-compose-nginx.yml -p nginx up -d

访问地址:ip地址:80

Elasticsearch

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./elasticsearch
# 运行
docker-compose -f docker-compose-elasticsearch.yml -p elasticsearch up -d
# 运行后,再次给新创建的文件赋予权限
chmod -R 777 ./elasticsearch
  1. ES访问地址:ip地址:9200 默认账号密码:elastic/123456
  2. kibana访问地址:ip地址:5601/app/dev_tools#/console 默认账号密码:elastic/123456

设置ES密码

# 进入容器
docker exec -it elasticsearch /bin/bash
# 设置密码-随机生成密码
# elasticsearch-setup-passwords auto
# 设置密码-手动设置密码
elasticsearch-setup-passwords interactive
# 访问
curl 127.0.0.1:9200 -u elastic:123456

elasticsearch_set_auto_password.png elasticsearch_set_password.png elasticsearch_curl.png

修改ES密码

# 修改elastic密码为123456 (注:执行命令时会让认证之前账号密码)
curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

ELK

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./elk
# 运行
docker-compose -f docker-compose-elk.yml -p elk up -d
# 若运行之后启动日志再次报相关权限问题,再次给新产生的文件赋予权限
chmod -R 777 ./elk
  1. ES访问地址:ip地址:9200 默认账号密码:elastic/123456
  2. kibana访问地址:ip地址:5601 默认账号密码:elastic/123456

设置ES密码

# 进入容器
docker exec -it elasticsearch /bin/bash
# 设置密码-随机生成密码
# elasticsearch-setup-passwords auto
# 设置密码-手动设置密码
elasticsearch-setup-passwords interactive

elk_elasticsearch_set_password

Filebeat

轻量型日志采集器,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。

docker-compose -f docker-compose-filebeat.yml -p filebeat up -d

RabbitMQ

# 当前目录下所有文件赋予权限(读、写、执行)
chmod -R 777 ./rabbitmq
# 运行 [ 注:如果之前有安装过,需要清除浏览器缓存和删除rabbitmq相关的存储数据(如:这里映射到宿主机的data数据目录),再重装,否则会出现一定问题! ]
docker-compose -f docker-compose-rabbitmq.yml -p rabbitmq up -d

# 运行3.7.8-management版本
# docker-compose -f docker-compose-rabbitmq-3.7.8-management.yml -p rabbitmq up -d

# 进入容器
docker exec -it rabbitmq /bin/bash
# 启用延时插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 查看已安装插件
rabbitmq-plugins list

web管理端:ip地址:15672 登录账号密码:admin/admin

ActiveMQ

docker-compose -f docker-compose-activemq.yml -p activemq up -d

访问地址:ip地址:8161 登录账号密码:admin/admin

BaiduPCS-Web

docker-compose -f docker-compose-baidupcs-web.yml -p baidupcs-web up -d

访问地址:ip地址:5299

MinIO

docker-compose -f docker-compose-minio.yml -p minio up -d

访问地址:ip地址:9000/minio 登录账号密码:root/password

Nacos

# 注:需要修改docker-compose-nacos-mysql.yml 中相关数据库连接信息和JVM参数相关信息
docker-compose -f docker-compose-nacos.yml -p nacos up -d

# mysql数据库版 【 需自己建库`nacos_config`, 并执行`/Liunx/nacos_mysql/nacos-mysql.sql`脚本 】
# nacos1.4.1版本
docker-compose -f docker-compose-nacos-mysql.yml -p nacos up -d
# nacos2.0.3版本
docker-compose -f docker-compose-nacos-mysql-2.0.3.yml -p nacos_v2.0.3 up -d

访问地址:ip地址:8848/nacos 登录账号密码默认:nacos/nacos

注:docker-compose-nacos-mysql.yml已开启连接密码安全认证,在java连接时需新增配置如下

spring:
  cloud:
    nacos:
      discovery:
        username: nacos
        password: nacos
      config:
        username: ${spring.cloud.nacos.discovery.username}
        password: ${spring.cloud.nacos.discovery.password}

Sentinel

# 普通版
docker-compose -f docker-compose-sentinel.yml -p sentinel up -d
# 持久化配置到mysql版
# docker-compose -f docker-compose-sentinel-mysql.yml -p sentinel up -d

访问地址:ip地址:8858 登录账号密码:sentinel/sentinel

Kafka

docker-compose -f docker-compose-kafka.yml -p kafka up -d

集群管理地址:ip地址:9000

Tomcat

docker-compose -f docker-compose-tomcat.yml -p tomcat up -d

访问地址:ip地址:8081

GitLab

docker-compose -f docker-compose-gitlab.yml -p gitlab up -d

访问地址:ip地址:10080 默认root账号,密码访问页面时需自己设置

Jenkins

docker-compose -f docker-compose-jenkins.yml -p jenkins up -d

访问地址:ip地址:8080

Nextcloud - 多端同步网盘

docker-compose -f docker-compose-nextcloud.yml -p nextcloud up -d

访问地址:ip地址:81 , 创建管理员账号

Walle - 支持多用户多语言部署平台

docker-compose -f docker-compose-walle.yml -p walle up -d && docker-compose -f docker-compose-walle.yml logs -f

访问地址:ip地址:80 初始登录账号如下:

超管:super@walle-web.io \ Walle123
所有者:owner@walle-web.io \ Walle123
负责人:master@walle-web.io \ Walle123
开发者:developer@walle-web.io \ Walle123
访客:reporter@walle-web.io \ Walle123

Grafana - 开源数据可视化工具(数据监控、数据统计、警报)

docker-compose -f docker-compose-grafana.yml -p grafana up -d

访问地址:http://ip地址:3000 默认登录账号密码:admin/admin

Grafana Loki - 一个水平可扩展,高可用性,多租户的日志聚合系统

# 先授权,否则会报错:`cannot create directory '/var/lib/grafana/plugins': Permission denied`
chmod 777 $PWD/grafana_promtail_loki/grafana/data
chmod 777 $PWD/grafana_promtail_loki/grafana/log

# 运行
docker-compose -f docker-compose-grafana-promtail-loki.yml -p grafana_promtail_loki up -d

访问地址:http://ip地址:3000 默认登录账号密码:admin/admin

Graylog - 日志管理工具

docker-compose -f docker-compose-graylog.yml -p graylog_demo up -d

访问地址:http://ip地址:9001 默认登录账号密码:admin/admin

FastDFS - 分布式文件系统

docker-compose -f docker-compose-fastdfs.yml -p fastdfs up -d
测试
# 等待出现如下日志信息:
# [2020-07-24 09:11:43] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server 39.106.45.72:22122, as a tracker client, my ip is 172.16.9.76

# 进入storage容器
docker exec -it fastdfs_storage /bin/bash
# 进入`/var/fdfs`目录
cd /var/fdfs
# 执行如下命令,会返回在storage存储文件的路径信息,然后拼接上ip地址即可测试访问
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg
# ex:
http://www.zhengqingya.com:8888/group1/M00/00/00/rBEAAl8aYsuABe4wAAhfG6Hv0Jw357.jpg

YApi - 高效、易用、功能强大的api管理平台

docker-compose -f docker-compose-yapi.yml -p yapi up -d

如下运行成功:

 log: mongodb load success...
 初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:3000/
log: mongodb load success...

访问地址:http://ip地址:3000 默认登录账号密码:admin@admin.com/ymfe.org

RocketMQ

注:修改 xx/rocketmq/rocketmq_broker/conf/broker.conf中配置brokerIP1宿主机IP

docker-compose -f docker-compose-rocketmq.yml -p rocketmq up -d

访问地址:http://ip地址:9002

XXL-JOB - 分布式任务调度平台

docker-compose -f docker-compose-xxl-job.yml -p xxl-job up -d

访问地址:http://ip地址:9003/xxl-job-admin 默认登录账号密码:admin/123456

MongoDB - 基于文档的通用分布式数据库

docker-compose -f docker-compose-mongodb.yml -p mongodb up -d

访问地址:http://ip地址:1234 Connection string:mongodb://admin:123456@ip地址:27017

Zookeeper

docker-compose -f docker-compose-zookeeper.yml -p zookeeper up -d

可视化界面访问地址:http://ip地址:9090

桌面可视化工具PrettyZoo: https://github.com/vran-dev/PrettyZoo

Flowable - 业务流程引擎

docker-compose -f docker-compose-flowable.yml -p flowable up -d

可视化界面访问地址:http://ip地址:9004/flowable-ui 默认登录账号密码:admin/test

Prometheus - 监控系统和时间序列数据库

注:此为未完善版! docker-compose-prometheus.yml 需修改grafana中配置的mysql连接信息 prometheus.yml 自行配置

docker-compose -f docker-compose-prometheus.yml -p prometheus up -d
  1. grafana访问地址:http://ip地址:3000 默认登录账号密码:admin/admin
  2. prometheus访问地址: http://ip地址:9090
  3. exporter访问地址: http://ip地址:9100/metrics

其它

  1. grafana面板资源 https://grafana.com/grafana/dashboards

Zipkin - 分布式追踪系统

它有助于收集对服务架构中的延迟问题进行故障排除所需的计时数据。功能包括收集和查找这些数据。 注:记得创建相应zipkin库和表

docker-compose -f docker-compose-zipkin.yml -p zipkin up -d

启动成功日志如下:

                  oo
                 oooo
                oooooo
               oooooooo
              oooooooooo
             oooooooooooo
           ooooooo  ooooooo
          oooooo     ooooooo
         oooooo       ooooooo
        oooooo   o  o   oooooo
       oooooo   oo  oo   oooooo
     ooooooo  oooo  oooo  ooooooo
    oooooo   ooooo  ooooo  ooooooo
   oooooo   oooooo  oooooo  ooooooo
  oooooooo      oo  oo      oooooooo
  ooooooooooooo oo  oo ooooooooooooo
      oooooooooooo  oooooooooooo
          oooooooo  oooooooo
              oooo  oooo
     ________ ____  _  _____ _   _
    |__  /_ _|  _ \| |/ /_ _| \ | |
      / / | || |_) | ' / | ||  \| |
     / /_ | ||  __/| . \ | || |\  |
    |____|___|_|   |_|\_\___|_| \_|
:: version 2.23.2 :: commit 7bf3aab ::
2021-08-30 16:33:27.414  INFO [/] 1 --- [oss-http-*:9411] c.l.a.s.Server                           : Serving HTTP at /[0:0:0:0:0:0:0:0%0]:9411 - http://127.0.0.1:9411/

可视化界面访问地址:http://ip地址:9411/zipkin

Rancher - 开源容器管理平台

docker-compose -f docker-compose-rancher.yml -p rancher up -d

访问地址:http://ip地址:80

==============================================================================
======================== ↑↑↑↑↑↑ 环境部署 end ↑↑↑↑↑↑ ================================
==============================================================================\

Repository Comments ( 1 )

Sign in for post a comment

About

docker-compose集成环境系列 expand collapse
Docker and 5 more languages
MIT
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
Docker
1
https://git.oschina.net/zhengqingya/docker-compose.git
git@git.oschina.net:zhengqingya/docker-compose.git
zhengqingya
docker-compose
docker-compose
master

Search