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镜像仓库:repo.huaweicloud.com/java/jdk/8u…
#下载wget命令 yum install wget
下载、解压jdk
wget repo.huaweicloud.com/java/jdk/8u… #解压 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=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 mirrors.ustc.edu.cn/docker-ce/l…
3.2、方案二:使用阿里云(推荐)
sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
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": ["flmr4w4z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
注意:[“自己的镜像加速器地址”]
5、Docker-compose安装
#国内资源(建议)
curl -L get.daocloud.io/docker/comp… -s-uname -m` > /usr/local/bin/docker-compose
#以上不行使用
sudo curl -L "github.com/docker/comp… -s)-$(uname -m)" -o /usr/local/bin/docker-compose
设置文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
查看版本信息
docker-compose -version 6、Nacos安装 基于jdk,先安装jdk
创建一个文件夹
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 创建文件夹及文件
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的版本好对应上
---在线安装
进入容器内部
docker exec -it elasticsearch /bin/bash
在线下载并安装
./bin/elasticsearch-plugin install github.com/medcl/elast… #退出 exit #重启容器 docker restart 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: - 9010: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: 43.142.110.206:2777 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://43.142.110.206: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://43.142.110.206: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 写入以下内容,注意IP改成自己的。
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=43.142.110.206 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 16、RabbitMQ部署指南 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。
1.1.下载镜像 方式一:在线拉取
docker pull rabbitmq:3.8-management 方式二:从本地加载
在课前资料已经提供了镜像包:
上传到虚拟机中后,使用命令加载镜像即可:
docker load -i mq.tar 1.2.安装MQ 执行下面的命令来运行MQ容器:
docker run
-e RABBITMQ_DEFAULT_USER=itcast
-e RABBITMQ_DEFAULT_PASS=123321
-v mq-plugins:/plugins
--name mq
--hostname mq
-p 15672:15672
-p 5672:5672
-di
rabbitmq:3.8-management
17、portainerio安装
使用以下命令拉取Portainer.io镜像:
docker pull portainer/portainer-ce 创建一个名为 portainer_data 的数据卷,用于持久化存储Portainer的配置和数据:
docker volume create portainer_data 使用以下命令启动Portainer.io容器:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce -p 8000:8000 :将Portainer的Web UI绑定到主机的8000端口。
-p 9000:9000 :将Portainer的API绑定到主机的9000端口。
--name=portainer :为容器指定一个名称(这里使用 portainer )。
--restart=always :在容器退出时自动重新启动容器。
-v /var/run/docker.sock:/var/run/docker.sock :将主机的Docker套接字与容器内的Docker套接字进行挂载,以便Portainer可以与主机上的Docker引擎进行通信。
-v portainer_data:/data :将名为 portainer_data 的数据卷挂载到容器的 /data 目录,以持久化存储Portainer的配置和数据。
打开Web浏览器,并访问 http://localhost:9000 (如果您在上一步中使用了不同的端口,请相应地更改URL)。您将看到Portainer的登录页面。
创建一个管理员帐户并设置密码,然后选择Docker环境(本地或远程)进行连接。
完成以上步骤后,您应该能够成功安装和启动Portainer.io,并通过Web界面管理您的Docker环境。
请注意,上述命令中的端口和数据卷名称可以根据您的需求进行更改。
要卸载Portainer.io,您可以按照以下步骤进行操作:
停止并删除正在运行的Portainer容器:
docker stop portainer docker rm portainer 删除Portainer.io镜像:
docker rmi portainer/portainer-ce 删除Portainer的数据卷:
docker volume rm portainer_data 完成以上步骤后,您已成功卸载Portainer.io。请注意,这将删除所有与Portainer相关的配置和数据。
18、docker安装redis docker pull redis docker run --name my-redis-container -d -p 6379:6379 redis docker ps 19、docker安装minion 使用以下命令拉取MinIO Docker镜像:
docker pull minio/minio 创建一个用于存储MinIO数据的目录。您可以选择在本地文件系统上创建一个目录,例如/data/minio:
mkdir -p /data/minio 运行MinIO容器。使用以下命令运行MinIO容器,并将容器内部的/data目录映射到本地的/data/minio目录:
docker run -p 9010:9000 --name minio
-v /data/minio:/data
-e "MINIO_ROOT_USER=minio"
-e "MINIO_ROOT_PASSWORD=minio123"
-d minio/minio server /data
docker run -it -p 9000:9000 -d minio/minio server /data --console-address “:9000” --address “:9001”
将<your_username>和<your_password>替换为您想要设置的MinIO的用户名和密码。
运行上述命令后,MinIO容器将在后台运行,并监听9000端口。您可以使用浏览器访问http://localhost:9000来访问MinIO的Web界面。
在Web界面中,使用您在步骤3中设置的用户名和密码登录。
20、docker安装MySQL 首先,确保已经安装了 Docker。你可以在 Docker 官方网站上找到适合你操作系统的安装方法和说明。
打开终端或命令行界面,运行以下命令拉取 MySQL 的 Docker 镜像:
docker pull mysql 在终端中运行以下命令来创建一个 MySQL 容器:
docker run --name mysql -p 3306:3306
-e MYSQL_ROOT_PASSWORD=your_password
-d mysql
请将 your_password 替换为你想要设置的 MySQL root 用户的密码。
21、docker安装SQL server 首先,确保已经安装了 Docker。你可以在 Docker 官方网站上找到适合你操作系统的安装方法和说明。
打开终端或命令行界面,运行以下命令拉取 SQL Server 的 Docker 镜像
docker pull mcr.microsoft.com/mssql/server 在终端中运行以下命令来创建一个 SQL Server 容器:
docker run --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=ljjP@ssw0rd' -p 1433:1433 -d mcr.microsoft.com/mssql/server 请将 ljjP@ssw0rd 替换为你想要设置的 SQL Server SA 用户的密码。
22、docker安装nginx docker pull nginx docker run -d -p 80:80 nginx 23、docker安装gitlab \2. 拉取GitLab Docker镜像:打开终端或命令提示符,运行以下命令以拉取GitLab Docker镜像:
docker pull gitlab/gitlab-ce \3. 运行GitLab容器:镜像下载完成后,执行以下命令以启动GitLab容器:
docker run --detach --publish 443:443 --publish 9002:9002 --publish 2224:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce docker run --detach --publish 443:443 --publish 80:80 --publish 2224:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce