Docker-Compose 搭建各种中间件

简介: Docker-Compose 搭建各种中间件

安装Docker和Docker-Compose见安装Docker&Docker-Compose

Nexus

java jar包私服仓库

  1. 编写docker-compose.yaml

vim docker-compose.yaml

version: '3'
services:
  nexus:
      restart: always
      image: sonatype/nexus3:3.17.0
      volumes:
        - /data/nexus-data:/nexus-data
      ports:
        - "8081:8081"
  1. 启动
docker-compose up -d
  1. 登录控制台初始化
    localhost:8081
    设置新密码
  2. 配置仓库
  1. 新建阿里云代理仓库:Create Repository -> maven2(proxy)
    Name: aliyun-proxy
    Remote storage: https://maven.aliyun.com/repository/public
  2. 配置maven-public group
    将aliyun-proxy仓库添加的组中,位置排在maven-release后
  1. 创建任务
    创建清理快照任务
    System -> Tasks -> Create Task
    选择Maven-Delete SNAPSHOT
    配置任务名称,清理的仓库:Maven-SNAPSHOT, 清理周期:每周

Harbor

镜像仓库

  1. 获取安装包
    release: https://github.com/goharbor/harbor/releases
wget https://download.fastgit.org/goharbor/harbor/releases/download/v2.2.2/harbor-online-installer-v2.2.2.tgz
  1. 解压
    tar -xf harbor-online-installer-v2.2.2.tgz
  2. 编辑配置文件
#将原配置文件拷贝一份
cp harbor.yaml.tmp harbor.yaml
#编辑
vim harbor.yaml


# 配置域名
hostname: abc.com
# 修改端口号
http:
  port: 8082
harbor_admin_password: Harbor12345
database:
  password: root123
  max_idle_conns: 50
  max_open_conns: 1000
# 修改数据卷
data_volume: /data/harbor/data
trivy:
  ignore_unfixed: false
  skip_update: false
  insecure: false
jobservice:
    max_job_workers: 10
notification:
  webhook_job_max_retry: 10
chart:
  absolute_url: disabled
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    #修改日志路径
    location: /data/harbor/log
_version: 2.2.0
proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - trivy
  1. 安装
sudo ./install.sh 
  1. 登录控制台
    localhost:8082
    默认账号密码:admin Harbor12345
  2. 新建账号用于发布
  3. 配置垃圾清理定时任务,频率:每周

Elastic

  1. 编写docker-compose文件
version: '3'
services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2
    container_name: es
    environment:
      - discovery.type=single-node
      - network.publish_host=172.31.240.178
      - bootstrap.memory_lock=true
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data:/usr/share/elasticsearch/data
      - ./plugins:/usr/share/elasticsearch/plugins
    ports:
      - 9200:9200
      - 9300:9300
volumes:
  data:
    driver: local

新建data与plugins目录

mkdir data plugins
  1. 赋权
chmod 777 data plugins
  1. 启动
docker-compose up -d

Kibana

  1. 编写配置文件
    vim kibana.yml
server.host: "0"
elasticsearch.hosts: [ "http://172.31.240.178:9200" ]
i18n.locale: "zh-CN"
  1. 编写docker-compose文件
version: '3'
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:7.13.2
    container_name: kibana
    volumes:
      - ./kibana.yaml:/usr/share/kibana/config/kibana.yml
    ports:
      - 5601:5601
  1. 启动
docker-compose up -d

MySQL

  1. 编写docker-compose
version: '3.1'
services:
    db:
        image: mysql:5.7.34
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: mysql&2021
        command:
          --default-authentication-plugin=mysql_native_password
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
        ports:
          - 3306:3306
        volumes:
          - ./data:/var/lib/mysql
  1. 启动
docker-compose up -d

Nacos

  1. 编写环境配置
    mkdir init.d && cd init.d
    vim custom.properties
management.endpoints.web.exposure.include=*
  1. 初始化数据库
    https://github.com/alibaba/nacos/blob/1.4.2/distribution/conf/nacos-mysql.sql
  2. 编写docker-compose文件
version: "3.1"
services:
  nacos:
    image: nacos/nacos-server:1.4.2
    container_name: nacos-standalone-mysql
    environment:
      MODE: standalone
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_SERVICE_HOST: 172.31.240.179
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: mysql&2021
      MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
    volumes:
      - ./standalone-logs/:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
    restart: on-failure
  1. 启动
docker-compose up -d

Redis

  1. 编写docker-compose文件
version: '3.1'
services:
    redis:
        image: redis
        environment:
          TZ: Asia/Shanghai
        ports:
            - 6379:6379
        command: redis-server --requirepass redis@2021
        volumes:
            - ./redis-data:/var/lib/redis
  1. 启动
docker-compose up -d
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
消息中间件 运维 Java
【消息中间件】在Docker下安装的RocketMQ,使用mqadmin命令报错解决[10015:signature-failed]
前在Docker下安装了RocketMQ以及他的管理平台,但是管理平台在运维的时候只能满足我们部分的需求,所以为了在集群运维时能够的得心应手,研究了下mqadmin的使用,没想到一开始就遇到了报错,在这里和大家分享下解决的方法。
1818 84
|
10月前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
331 19
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
517 3
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
658 2
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
消息中间件 关系型数据库 MySQL
从零玩转Docker之docker-compose快捷部署中间件2
从零玩转Docker之docker-compose快捷部署中间件
1607 0
|
消息中间件 运维 Java
【消息中间件】你还不会在Docker下安装RocketMQ吗?
在学习消息中间件-RocketMQ之前,先来准备一下学习环境的搭建,下面分享一下Docker环境中安装RocketMQ和RocketMQ-Console。
|
消息中间件 Cloud Native Java
云原生之使用Docker部署RabbitMQ消息中间件
云原生之使用Docker部署RabbitMQ消息中间件
314 44
|
中间件 关系型数据库 MySQL
史上最详细Docker安装Mycat中间件 | 实现主从的读写分离
史上最详细Docker安装Mycat中间件 | 实现主从的读写分离
1037 2
|
NoSQL 中间件 Nacos
从零玩转Docker之docker-compose快捷部署中间件1
从零玩转Docker之docker-compose快捷部署中间件
404 0