项目相关环境docker版安装教程总结

项目环境docker及docker-compose文档

1、Linux环境介绍

  • centos7.6
  • 16G以上内存空间(至少8G)

项目相关环境docker版安装教程总结

2、静态IP设置

1、找到配置文件    cd /etc/sysconfig/network-scripts/    vi ifcfg-ens33----------------------------    TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPADDR=192.168.200.188NETMASK=255.255.255.0GATEWAY=192.168.200.2DNS1=114.114.114.114DNS2=8.8.8.8IPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2DEVICE=ens33ONBOOT=yes-----------------------------------​重启网卡service network restart​测试网卡ping www.baidu.com 如果有字节输出,则表示网络正常

3、JDK安装

undefined

4、Docker安装

安装docker

undefined

设置镜像加速器

undefined

注意:[“自己的镜像加速器地址”]

5、Docker-compose安装

undefined

6、Nacos安装

  • 创建一个文件夹
mkdir nacos
  • 进入该文件夹中
cd nacos​vi docker-compose.yml
  • 编写docker-compose.yml文件
version
  • 创建文件夹及文件
cd nacos

mkdir init.d

cd init.d

touch custom.properties
  • 执行脚本
docker-compose up -d

7、MySQL安装

创建docker-compose.yml

  • 创建一个文件夹
mkdir mysql
  • 进入mysql文件夹中创建一个docker-compose.yml文件
cd mysql

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3'
services:
  mysql:
    container_name: mysql
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: "root"
    image: "mysql:5.7"
    restart: always
    volumes:
      - "./conf/my.cnf:/etc/my.cnf"
      - "./data:/var/lib/mysql"
    ports:
      - "3306:3306"
  • 创建文件(在mysql文件夹下)
mkdir conf
cd conf
touch my.cnf
  • 在mysql文件夹下执行脚本
docker-compose up -d

8、ElasticSearch安装

  • 创建一个文件夹
mkdir es
  • 进入es文件夹中创建一个docker-compose.yml文件
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.4.0
    container_name: elasticsearch
    restart: always
    environment:
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /root/es/plugins:/usr/share/elasticsearch/plugins
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: kibana:7.4.0
    container_name: kibana
    environment:
      - SERVER_NAME=kibana
      - ELASTICSEARCH_URL=http://192.168.200.137:9200
      - XPACK_MONITORING_ENABLED=true
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch
    external_links:
      - elasticsearch
  • es文件夹下执行脚本
docker-compose up -d
  • 设置中文IK分词器

因为在创建elasticsearch容器的时候,映射了目录,所以可以在宿主机上进行配置ik中文分词器

在去选择ik分词器的时候,需要与elasticsearch的版本好对应上

把资料中的 ik-7.4.0.tar上传到服务器上,放到对应目录(plugins)解压

#上传压缩包到Linux中

#切换目录
cd es/plugins
#新建目录
mkdir analysis-ik

#root根目录解压
tar -xf ik-7.4.0.tar -C /root/es/plugins/analysis-ik
  • 在重新启动es,进行测试
docker restart elasticsearch
  • 连接kibana,测试iK分词器
ik_max_word中文分词器
GET _analyze
{
  "analyzer": "ik_max_word",
  "text":"中国人民真好看"
}

ik_smart中文分词器
GET _analyze
{
  "analyzer": "ik_smart",
  "text":"中国人民真好看"
}

默认分词器
GET _analyze
{
  "analyzer": "standard",
  "text":"中国人民真好看"
}

9、MinIo安装

  • 创建文件夹
mkdir minio
  • 进入文件夹
cd minio
  • 创建docker-compose.yml
vi docker-compose.yml
  • 编写以下内容
version: '3'
services:
  minio:
    image: minio/minio:RELEASE.2021-04-18T19-26-29Z
    container_name: myminio
    ports:
      - 9000:9000
    volumes:
      - /var/minio/data:/data
      - /var/minio/config:/root/.minio
    environment:
      MINIO_ACCESS_KEY: "minio"
      MINIO_SECRET_KEY: "minio123"
    command: server /data
    restart: always
  • 执行命令
docker-compose up -d

10、Redis安装

  • 创建一个文件夹
mkdir redis
  • 进入redis文件夹中创建一个docker-compose.yml文件
cd redis

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3'
services:
 redis:
  container_name: redis
  image: redis:5.0.7
  restart: always
  ports:
    - 6379:6379
  volumes:
    - ./conf/redis.conf:/etc/redis/redis.conf:rw
    - ./data:/data:rw
  command:
    redis-server /etc/redis/redis.conf --appendonly yes
  environment:
    - TZ=Asia/Shanghai
  • redis文件夹下执行脚本
docker-compose up -d

11、Kafka安装

  • 创建一个文件夹
mkdir kafka
  • 进入kafka文件夹中创建一个docker-compose.yml文件
cd kafka

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3'
services:
  zookeeper-kafka:
    image: wurstmeister/zookeeper
    restart: unless-stopped
    hostname: zookeeper-kafka
    container_name: zookeeper-kafka
    ports:
      - 2777:2181
    volumes:
      - ./data:/data
      - ./datalog:/datalog
  kafka:
    image: wurstmeister/kafka:2.12-2.4.1
    depends_on:
      - zookeeper-kafka
    container_name: kafka
    ports:
      - 9092:9092
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_BROKER_ID: 0
      KAFKA_ZOOKEEPER_CONNECT: 192.168.200.135:2777
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.200.135:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    restart: unless-stopped
    volumes:
      - ./docker.sock:/var/run/docker.sock

KAFKA_ZOOKEEPER_CONNET:IP:zookeeper的端口号
IP要改成自己服务器的ip地址

  • 在kafka文件夹下执行以下命令
docker-compose up -d

12、Kafka-manager安装(选装)

#拉取镜像
docker pull sheepkiller/kafka-manager
#创建容器
docker run -di --name=kafka-manager  -p 9001:9000 --restart=always -e ZK_HOSTS=192.168.200.137:2777 sheepkiller/kafka-manager

ZK_HOSTS=192.168.200.129:2777
表示关联zookeeper的地址及端口号, 2777是zookeeper的对外端口号

13、MongoDB安装

  • 创建一个文件夹
mkdir mongo
  • 进入mongo文件夹中创建一个docker-compose.yml文件
cd mongo

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3.1'
services:
  mongo:
    image: mongo:5.0.2
    restart: always
    container_name: mongo
    hostname: mongo
    environment:
      #用户名密码
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root
    ports:
      - 27017:27017
    volumes:
      - ./data:/data/db
    networks:
          mongo:
            aliases:
            - mongo1
networks:
  mongo:
    driver: bridge
  • mongo文件夹下执行脚本
docker-compose up -d

安装完后,要对mongo进行认证操作cls

进入mongo内部
[root@localhost ~]# docker exec -it mongo /bin/bash
root@mongo:/# mongo
MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f7c7c594-d5dd-473a-9ded-43609ac16a28") }
MongoDB server version: 4.4.5
> use admin
switched to db admin
> db.auth("root","root")
1
> show dbs
admin             0.000GB
config            0.000GB
local             0.000GB

14、Xxl-job安装

  • 创建一个文件夹
mkdir xxljob
  • 进入xxljob文件夹中创建一个docker-compose.yml文件
cd xxljob

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容
version: '3'
services:
  xxl-job:
    image: xuxueli/xxl-job-admin:2.3.0
    container_name: xxl-job
    environment:
      PARAMS: "--spring.datasource.url=jdbc:mysql://192.168.200.137:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai  --spring.datasource.username=root  --spring.datasource.password=root"
    ports:
      - 8888:8080
    volumes:
      - /data/docker/xxl-job/logs/:/data/applogs/xxl-job/
  • xxljob文件夹下执行脚本
docker-compose up -d

15、seata安装

1、安装

创建文件夹

mkdir seata

进入文件夹,然后创建docker-compose.yml

cd seata
vi docker-compose.yml

写入以下内容

version: "3"
services:
  seata-server:
    image: seataio/seata-server:1.4.2
    hostname: seata-server
    container_name: seata
    restart: always
    ports:
      - "8091:8091"
    environment:
      - SEATA_PORT=8091
      - SEATA_IP=192.168.200.104
    volumes:
      - /root/seata/config:/root/seata-config

生成容器

docker-compose up -d

查看容器是否启动

docker ps

项目相关环境docker版安装教程总结

2、修改参数

1、进入容器内部

docker exec -it seata sh

项目相关环境docker版安装教程总结

2、进入resources文件夹下

cd resources

项目相关环境docker版安装教程总结

3、修改registry.conf配置

vi registry.conf

注册中心配置:

项目相关环境docker版安装教程总结

配置中心:

项目相关环境docker版安装教程总结

具体详情:(也可参考windwos环境中的registry.conf文件)

registry {
  # file ...nacos ...eureka...redis...zk...consul...etcd3...sofa
  type = "nacos"

  nacos {
    application = "seata-tc-server"
    serverAddr = "192.168.200.104:8848"
    group = "SEATA_GROUP"
    namespace = ""
    cluster = "SH"
    username = "nacos"
    password = "nacos"
  }
}
config {
  # file...nacos ...apollo...zk...consul...etcd3
  type = "nacos"

  nacos {
    serverAddr = "192.168.200.104:8848"
    namespace = ""
    group = "SEATA_GROUP"
    username = "nacos"
    password = "nacos"
    dataId = "seataServer.properties"
  }
}

3、退出容器

exit

4、重启容器

docker restart seata

5、查看日志

docker logs -f seata

项目相关环境docker版安装教程总结
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf  /root/mysqld.cnf

wait_timeout=86400

docker cp mysqld.cnf  mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

Original: https://www.cnblogs.com/gongss/p/16345015.html
Author: Gongss
Title: 项目相关环境docker版安装教程总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582536/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux 学习笔记

    Linux 学习笔记 作者:Grey 原文地址: 博客园:Linux 学习笔记 CSDN:Linux 学习笔记 说明 本文如果没有特别说明,环境是 CentOS 7, 主要是日常学…

    Linux 2023年5月27日
    0118
  • Linux指令

    Linux 目录简介/bin Binary的缩写,存放最经常使用的命令/sbin s代表Super user,存放系统管理员使用的系统管理程序/home 存放普通用户的主目录,每个…

    Linux 2023年5月27日
    099
  • C++类结构体与json相互转换

    1. 背景与需求 之前写C#的时候,解析json字符串一般使用的是开源的类库Newtonsoft.Json,方法十分简洁,比如: class Project { public st…

    Linux 2023年6月8日
    0103
  • linux学习相关资料整理

    Posted on2022-09-08 13:09 brad1208 阅读(20 ) 评论() 编辑 linux常用指令记录 Python3.9.9安装 supervisor安装与…

    Linux 2023年6月6日
    097
  • Java对象序列化和反序列化

    Java类的序列化和反序列化 序列化:指将对象转换为字节序列的过程,也就是将对象的信息转换成文件保存。 反序列化:将字节序列转换成目标对象的过程,也就是读取文件,并转换为对象。 几…

    Linux 2023年6月14日
    0106
  • 系统复位到操作系统启动的简要流程图

    多核下,处理器由系统复位到操作系统启动的简要流程图; 其中第一列为处理器核初始化过程, 第二列为芯片核外部分初始化过程, 第三列为设备初始化过程, 第四列为内核加 载过程, 第五列…

    Linux 2023年6月14日
    0100
  • 位运算(一)

    位运算的一般应用 功能 例子 运算 去掉最后一位 1110101->111010 x>>1 在最后加0 1110101->11101010 x< 通过…

    Linux 2023年6月8日
    0140
  • 冯·诺依曼体系结构

    cpu运算速度>寄存器速度>L1~L3Cache>内存>外设(磁盘)>光盘 外设(输入设备、输出设备)不和cpu直接数据交换 cpu直接和内存数据交换…

    Linux 2023年6月13日
    099
  • 内网渗透测试:利用DCOM进行横向渗透——利用ExecuteShellCommand在做远程命令执行

    COM COM即组件对象模型(Component Object Model,COM) ,是基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。COM是…

    Linux 2023年5月28日
    088
  • linux 应用程序直接读写寄存器或物理内存

    1.程序说明: 调试驱动程序时,经常遇到候需要查看或设置寄存器的情况,但是直接更改内核代码又不方便。 这里提供一个应用程序源码能在应用层访问底层寄存器。(网上找到的,进行过更改)。…

    Linux 2023年6月6日
    0194
  • 洛谷P3372–线段树代码模板1

    时空限制:1000ms,128M 数据规模: 对于30%的数据:N Original: https://www.cnblogs.com/ygsworld/p/11279732.ht…

    Linux 2023年6月7日
    0127
  • C语言实现扫雷游戏(完整版)

    头文件定义、函数声明 下面就是扫雷中使用到的所有函数,为了省事我把所有的代码都放在一个C文件中实现 宏定义中设置了游戏的界面布局,以及设置地雷的个数(这里默认的是10个地雷),界面…

    Linux 2023年6月6日
    0138
  • Oracle 恢复delete误删数据

    — 开启行移动功能 alter table 表名 enable row movement; — 查询删除前的数据 select * from 表名 as of timestam…

    Linux 2023年6月8日
    091
  • 罗德岛

    自从转行以后就建博了,一直没有动手写内容,今天开始写。 主要记录技术上的积累和项目上的工作感悟。 这里就是罗德岛,就在这里跳。 Original: https://www.cnbl…

    Linux 2023年6月6日
    092
  • 爱前端公开课学习笔记——JS01 认识js 变量

    认识js 在谷歌浏览器的控制台中右键单击空白处,选择检查可以打开控制台 查看console.log输出的内容。 JS的注释 是”//”或者”/ …

    Linux 2023年6月14日
    0102
  • zabbix自定义监控进程与日志

    zabbix自定义监控进程与日志 zabbix自定义监控进程与日志 zabbix自定义监控进程 zabbix自定义监控日志 zabbix自定义监控进程 现在我们需要监控客户端的某一…

    Linux 2023年6月13日
    0127
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球