项目环境docker及docker-compose文档

1、Linux环境介绍

  • centos7.6

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

2、静态IP设置

1、找到配置文件
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
----------------------------
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.200.188
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2
DEVICE=ens33
ONBOOT=yes
-----------------------------------

重启网卡
service network restart

测试网卡
ping www.baidu.com 如果有字节输出,则表示网络正常

3、JDK安装

# jdk镜像仓库:https://repo.huaweicloud.com/java/jdk/8u171-b11/

#下载wget命令
yum install wget

# 下载、解压jdk
wget https://repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz
#解压
tar -zxf jdk-8u171-linux-x64.tar.gz
#移动文件夹中
mv jdk1.8.0_171 /usr/local

# 配置环境
vi /etc/profile

# 添加内容:
export JAVA_HOME=/usr/local/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH

# 配置生效命令
source /etc/profile
#查看j版本命令
java -version

4、Docker安装

安装docker

# 1、yum 包更新到最新,需要几分钟时间
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(默认的)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v

#开机自启动
systemctl enable docker

设置镜像加速器

# 执行如下命令:
mkdir /etc/docker 表示创建一个文件夹
#如果有该文件则进入编辑状态,如果没有,则创建该文件然后进入编辑状态
vi /etc/docker/daemon.json  
#编写以下内容
{
 "registry-mirrors": ["https://7oc12mqc.mirror.aliyuncs.com"]
}

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

5、Docker-compose安装

#国内资源(建议)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
# 查看版本信息
docker-compose -version

6、Nacos安装

  • 创建一个文件夹

mkdir nacos
  • 进入该文件夹中

cd nacos

vi docker-compose.yml
  • 编写docker-compose.yml文件

version: "2"
services:
nacos:
  image: nacos/nacos-server:1.4.1
  container_name: nacos
  environment:
  - MODE=standalone
  volumes:
  - /root/nacos/logs:/home/nacos/logs
  -  /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
  ports:
  - "8848:8848"
  restart: always
  • 创建文件夹及文件

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 

2、修改参数

1、进入容器内部

docker exec -it seata sh

2、进入resources文件夹下

cd resources

3、修改registry.conf配置

vi registry.conf

注册中心配置:

配置中心:

具体详情:(也可参考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 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
 

Linux版本的项目环境搭建的更多相关文章

  1. Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解

    作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...

  2. Django项目: 项目环境搭建 ---- 一、创建django项目

    项目环境搭建 一.创建django项目 1.创建python虚拟环境 在虚拟机上创建python虚拟环境,因为实际项目部署,实在linux mkvirtualenv -p /usr/bin/pytho ...

  3. 学习Linux(一)环境搭建

    零基础学习Linux(一)环境搭建 从本文开始我会为大家介绍一下linux环境下详细的集群环境安装.配置.部署到实例演示的整个过程.在此过程中会给大家详细介绍一下Linux的操作技巧和一些工具的使用. ...

  4. 第一周博客之二---OA项目环境搭建及开发包部署

    OA项目环境搭建 一个项目想要能够在开发人员打包好项目包之后进行测试,就必须进行项目测试环境的搭建,要根据开发工程师的开发环境采用不同的测试环境,以下只是浅谈下Java项目OA(办公自动化平台)的环境 ...

  5. mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装

    一.mac OS X下Java项目环境搭建 因为某些原因新入手了台最新版的MacBook Pro,意味着今天要花一天时间安装各种软件以及项目环境搭建╮(╯▽╰)╭ 项目环境搭建步骤: 1.安装jdk ...

  6. OK335xS Ubuntu 12.04.1 版本 Android 开发环境搭建

    /******************************************************************************************** * OK33 ...

  7. react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题

    步骤一:项目环境搭建 首先,你不应该使用 React v15 或更高版本.使用仍然支持 IE8 的 React v0.14 即可. 技术选型: 1.react@0.14 2.bootstrap3 3. ...

  8. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  9. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

随机推荐

  1. Servlet学习记录

    个人认为servlet属于一种控制程序,可以处理浏览器的请求并做出对应的回应.我们经常使用的是让一个类去继承HttpServlet,然后在doget或者dopost里面写东西. 目前我个人常在doge ...

  2. STL空间分配器源码分析(一)

    一.摘要 STL的空间分配器(allocator)定义于命名空间std内,主要为STL容器提供内存的分配和释放.对象的构造和析构的统一管理.空间分配器的实现细节,对于容器来说完全透明,容器不需关注内存 ...

  3. Azure Virtual Desktop(一)创建配置管理

    一,引言 Azure 虚拟创面是一项 Azure 服务,可以让我们管理: 1)VDI(虚拟桌面基础架构) 2)云端的 RDSH:RDSH 是 RDS(远程桌面服务)中的一个角色.这些类型的服务器用于托 ...

  4. Python学习阵痛期

    Python和之前学习的Java语法上有较大的区别,例如Java中for循环常使用++自增符,在Python中是没有++的. 因为Python中整型.字符型等都是不可变的,一改变值就重新分配了新的内存 ...

  5. 原生的ajax请求

    原生ajax请求的步骤: get 请求: 1,创建一个xhr变量 var xhr=new XMhttpRequest(); 2,设置请求方式和请求地址 xhr.open('url','http//19 ...

  6. OpenHarmony 3.1 Beta版本关键特性解析——OpenHarmony图形框架

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 李煜 华为技术有限公司 崔坤华为技术有限公司 众所周知,动画是系统和应用与用户交互的重要环节.动画效果的好坏会直接影响 ...

  7. Elasticsearch 索引策略

    Elasticsearch 7.6 索引生命周期 es的生命周期就对应了索引的策略,比如我们在使用elk的时候,由于数据量较大,时间比较久远的数据就没有那么有价值了,因此就需要定期的清除这些历史数据, ...

  8. javaWeb代码整理02-jdbcTemplete数据库连接工具

    jar包: maven坐标: /**属于spring框架的包*/<dependency> <groupId>org.springframework</groupId> ...

  9. Go 语言字符串常见操作

    @ 目录 1. 字节数组 2. 头尾处理 3. 位置索引 4. 替换 5. 统计次数 6. 重复 7. 大小写 8. 去除字符 9. 字符串切片处理 10. 数值处理 1. 字节数组 字节与字符的区别 ...

  10. SpringBoot 三层架构 Controller、Service、Dao作用和关系详解

    首先创建一个springboot项目. model层 model层也叫pojo层或者entity层,个人比较喜欢pojo层. 一般数据库的一张表对应一个pojo层,并且表中所有字段都在pojo层都一一 ...