docker安装常用软件
Linux系统安装docker请参考:https://mp.csdn.net/mp_blog/creation/editor/128176825
docker安装mysql
1、拉镜像:docker pull mysql:8.0.26
2、创建数据目录:
mkdir -p /mnt/data/mysql/data
mkdir -p /mnt/data/mysql/logs
mkdir -p /mnt/data/mysql/mysql-files
mkdir -p /mnt/data/mysql/conf
3、在/mnt/data/mysql/conf下创建my.cnf配置文件,配置文件如下:
# 对本地的mysql客户端的配置
[client]
default-character-set = utf8mb4# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8mb4# 本地mysql服务的配置
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 禁用DNS
skip-name-resolve
default-time-zone = '+8:00'
4、赋权限:chmod -R 777 /mnt/data/mysql/
5、创建自定义网络:docker network create mynetwork
6、创建容器并启动:
docker run -itd --network mynetwork --restart=always --privileged=true --name=mysql8 -p 3306:3306 -v /mnt/data/mysql/mysql-files:/var/lib/mysql-files/ -v /mnt/data/mysql/data:/var/lib/mysql -v /mnt/data/mysql/logs:/var/log/mysql -v /mnt/data/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=root mysql:8.0.26
docker安装mongo
1、拉镜像:docker pull mongo:6.0
2、创建数据目录:mkdir -p /mnt/data/mongo/data
3、赋权限:chmod -R 777 /mnt/data/mongo/
4、创建容器并启动:
docker run -d --name mongo6 --restart always --network mynetwork --privileged=true -p 27017:27017 -v /mnt/data/mongo/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin mongo:6.0 --auth
5、创建用户并赋权:
#创建超级管理员用户
use admin;
db.createUser({user: 'admin', pwd: 'admin', roles: [{role: 'root', db: 'admin'}]});
#创建应用数据库用户
use mydb;
db.createUser({user: 'tom', pwd: 'tom', roles: [{role: 'dbOwner', db: 'mydb'}]});
docker安装redis
1、拉镜像:docker pull redis:6.0.9
2、创建数据目录:
mkdir -p /mnt/data/redis/data
mkdir -p /mnt/data/redis/conf
3、在/mnt/data/redis/conf下创建redis.conf配置文件,配置文件主要修改下面内容:
# bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300save 900 1
save 300 10
save 60 10000
rdbcompression yes
requirepass 123456lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
4、赋权限:chmod -R 777 /mnt/data/redis/
5、创建容器并启动:
docker run -d --name redis6 --restart=always --privileged=true --network mynetwork -p 6379:6379 -v /mnt/data/redis/conf/redis.conf:/redis.conf -v /mnt/data/redis/data:/data --requirepass 123456 redis:6.0.9 redis-server --appendonly yes
注意:如果安装的redis版本支持requirepass 参数,尽量启动时设置密码;如果版本不支持,需要在redis启动后,进入控制台,按照下一步用命令设置密码,否则配置文件redis.conf里设置的密码不生效;
6、设置密码(很重要)
用docker命令进入容器内部:docker exec -it 容器ID /bin/bash
进入redis目录:cd /usr/local/bin
运行命令进入客户端:redis-cli
或者通过redis客户端连接工具进入redis控制台,然后通过下面命令查看设置密码:
查看当前redis密码:config get requirepass
设置redis密码:config set requirepass ******
若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码
可以发现,在设置密码前,即便我们在redis.conf中配置了密码,但这里仍然显示密码为空:
docker安装elasticsearch
1、拉镜像:docker pull elasticsearch:8.1.2
2、创建数据目录:
mkdir -p /mnt/data/elasticsearch/data
mkdir -p /mnt/data/elasticsearch/plugins
mkdir -p /mnt/data/elasticsearch/config
3、在/mnt/data/elasticsearch/config下创建elasticsearch.yml配置文件,配置文件如下:
单机部署:
node.name: node1
network.host: 0.0.0.0
network.publish_host: localhost
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["localhost:9300"]
transport.profiles.default.port: 9300
xpack.security.enabled: false
集群部署:
| 节点1 | 节点2 | 节点3 |
| cluster.name: es-cluster node.name: node1 network.host: 0.0.0.0 network.publish_host: 192.168.4.103 http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" cluster.initial_master_nodes: node1 discovery.seed_hosts: ["192.168.4.103:9300"] transport.profiles.default.port: 9300 xpack.security.enabled: false | cluster.name: es-cluster node.name: node2 network.host: 0.0.0.0 network.publish_host: 192.168.4.103 http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" cluster.initial_master_nodes: node1 discovery.seed_hosts: ["192.168.4.103:9300"] transport.profiles.default.port: 9300 xpack.security.enabled: false | cluster.name: es-cluster node.name: node3 network.host: 0.0.0.0 network.publish_host: 192.168.4.103 http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" cluster.initial_master_nodes: node1 discovery.seed_hosts: ["192.168.4.103:9300"] transport.profiles.default.port: 9300 xpack.security.enabled: false |
4、赋权限:chmod -R 777 /mnt/data/elasticsearch/
5、创建容器并启动:
docker run --name es8 -p 9200:9200 -p 9300:9300 --restart always --network mynetwork --privileged=true -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" -v /mnt/data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/data/elasticsearch/data:/usr/share/elasticsearch/data -v /mnt/data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:8.1.2
docker安装kafka
docker安装nginx
1、拉镜像:docker pull nginx
2、创建数据目录:
mkdir -p /mnt/data/nginx/logs
mkdir -p /mnt/data/nginx/html
mkdir -p /mnt/data/nginx/conf
3、在/mnt/data/nginx/conf下创建nginx.conf配置文件,配置文件如下:
worker_processes 4;
worker_rlimit_nofile 655350;events {worker_connections 100000;
}stream {upstream plcserver{#least_conn; # 把请求分派给连接数最少的服务器server 172.18.0.1:2526;server 172.18.0.2:2526;#hash $remote_addr consistent;#server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s;#server 127.0.0.1:6002 weight=1 max_fails=3 fail_timeout=30s;}server {listen 2526;proxy_pass plcserver;tcp_nodelay on;proxy_connect_timeout 1s;#proxy_timeout 3s;# 开启代理协议,通过协议发送真实IPproxy_protocol on;}
}http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;# 开启gzip压缩gzip on;# 不压缩临界值,大于1K的才压缩,一般不用改gzip_min_length 1k;# 压缩缓冲区gzip_buffers 16 64K;# 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_http_version 1.1;# 压缩级别,1-10,数字越大压缩的越好,时间也越长gzip_comp_level 5;# 进行压缩的文件类型gzip_types text/plainapplication/x-javascripttext/cssapplication/xmlapplication/javascript;# 跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"gzip_vary on;# IE6对Gzip不怎么友好,不给它Gzip了gzip_disable "MSIE [1-6]\.";upstream myserver {server 172.18.0.2:8888; #前端请求经过nginx代理后到后台的服务IP和端口}server {listen 80;#填写证书绑定的域名server_name 172.18.0.2;#将所有HTTP请求通过rewrite指令重定向到HTTPSrewrite ^(.*)$ https://$host$1;location / {root /mnt/project/frontend/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}}server {listen 443 ssl;# server_name 172.18.0.2;ssl_certificate cert/1111111_xxxxxxx.cn.pem;ssl_certificate_key cert/1111111_xxxxxxx.cn.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {root /mnt/project/frontend/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /profile {alias /mnt/uploadPath/;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection upgrade;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://myserver;}location /vue/ {alias /mnt/project/frontend/vue;}location /vue/lbx/ {alias /mnt/project/frontend/h5/;}location /web-api/ {proxy_pass http://myserver;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# MP_verify_vxs6TlQn9pENraPp.txtlocation = /MP_verify_sdfsfsfsfsf.txt {alias /mnt/uploadPath/MP_verify_sdfsfsfsfsf.txt;}}#nginx优化----------------------#隐藏版本号server_tokens on;#优化服务器域名的散列表大小 server_names_hash_bucket_size 64;server_names_hash_max_size 2048;#开启高效文件传输模式#sendfile on;#减少网络报文段数量#tcp_nopush on;#提高I/O性能tcp_nodelay on;#连接超时 时间定义 默认秒 默认65秒#keepalive_timeout 60;#读取客户端请求头数据的超时时间 默认秒 默认60秒client_header_timeout 15;#读取客户端请求主体的超时时间 默认秒 默认60秒client_body_timeout 15;#响应客户端的超时时间 默认秒 默认60秒send_timeout 25;#上传文件的大小限制 默认1mclient_max_body_size 8m;
}
4、赋权限:chmod -R 777 /mnt/data/nginx/
5、创建容器并启动:
docker run --name nginx -m 500m -p 80:80 --restart always --network mynetwork -v /mnt/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mnt/data/nginx/logs:/var/log/nginx -v /mnt/data/nginx/html:/usr/share/nginx/html -v /mnt/project/frontend/build:/mnt/project/frontend/build -e TZ=Asia/Shanghai --privileged=true -d nginx
相关文章:
docker安装常用软件
Linux系统安装docker请参考:https://mp.csdn.net/mp_blog/creation/editor/128176825 docker安装mysql 1、拉镜像:docker pull mysql:8.0.26 2、创建数据目录: mkdir -p /mnt/data/mysql/data mkdir -p /mnt/data/mysql/logs mkdir -p /mn…...
CocosCreator3.8研究笔记(五)CocosCreator 脚本说明及使用(下)
在Cocos Creator中,脚本代码文件分为模块和插件两种方式: 模块一般就是项目的脚本,包含项目中创建的代码、引擎模块、第三方模块。 插件脚本,是指从 Cocos Creator 属性检查器中导入的插件,一般是引入第三方引入库文件…...
Adobe Acrobat Reader界面改版 - 解决方案
问题 日期:2023年9月 Adobe Acrobat Reader下文简称Adobe PDF Reader,此软件会自动进行更新,当版本更新至2023.003.20284版本后。 软件UI界面会大改版:书签页变成了右边、工具栏变到了左边、缩放按钮变到了右下角,如…...
实用调试技巧(2)
文章目录 6. 如何写出好(易于调试)的代码6.1 优秀的代码:6.2 示范:6.3 const的作用 7. 编程常见的错误7.1 编译型错误7.2 链接型错误7.3 运行时错误 附: 6. 如何写出好(易于调试)的代码 6.1 优…...
海外ASO优化之如何优化游戏应用
如果我们发布了一款手机游戏或者管理了一款手机游戏,那么需要确保我们的手机游戏对合适的人可见,目的是增加应用的下载量。 1、优化游戏元数据的关键词。 Apple和Google在应用商店中为我们提供有限的空间,来描述手机游戏及其优势。我们需要使…...
SpringMVC: Java Web应用开发的框架之选
引言 在当今的软件开发领域中,Web应用的需求不断增长。为了满足这种需求,各种Web框架应运而生。其中,SpringMVC作为一种优秀的Java Web框架,受到广泛关注和使用。本文将以文章的形式给您讲解SpringMVC的重要概念、工作原理和核心…...
【华为设备升级】AR路由器升级设备软件示例
升级设备软件示例 通过介绍设备升级的具体步骤,帮助用户顺利完成系统设备升级。 组网需求 设备当前系统软件版本已经不能满足用户需要,用户需要更大的规格和部署更多的特性,此时用户需要对系统软件进行升级。 如图1所示,网络中的某…...
Dataset 的一些 Java api 操作
文章目录 一、使用 Java API 和 JavaRDD<Row> 在 Spark SQL 中向数据帧添加新列二、foreachPartition 遍历 Dataset三、Dataset 自定义 Partitioner四、Dataset 重分区并且获取分区数 一、使用 Java API 和 JavaRDD 在 Spark SQL 中向数据帧添加新列 在应用 mapPartition…...
Vue + Element UI 前端篇(十一):第三方图标库
Vue Element UI 实现权限管理系统 前端篇(十一):第三方图标库 使用第三方图标库 用过Elment的同鞋都知道,Element UI提供的字体图符少之又少,实在是不够用啊,幸好现在有不少丰富的第三方图标库可用&…...
HDFS:Hadoop文件系统(HDFS)
Hadoop文件系统(HDFS)是一个分布式文件系统,主要用于存储和处理大规模的数据集。HDFS是Apache Hadoop的核心组件之一,能够支持上千个节点的集群,并能够处理PB级别的数据。 HDFS将大文件切割成小的数据块(默…...
SpringMvc--综合案例
目录 1.SpringMvc的常用注解 2.参数传递 基础类型(String) 创建一个paramController类: 创建一个index.jsp 测试结果 复杂方式 编辑 测试结果 RequestParam 测试结果 PathVariable 测试结果 RequestBody pom.xml依赖导入 输…...
工业4.0时代生产系统对接集成优势,MES和ERP专业一体化管理-亿发
在现代制造业中,市场变化都在不断加速。企业面临着不断加强生产效率、生产质量和快速适应市场需求的挑战。在制造行业,日常管理中的ERP系统、MES系统就显得尤为重要。越来越多的企业正在采用MES系统和ERP管理系统的融合,以实现智能化生产管理…...
IT运维监控系统和网络运维一样吗
IT运维监控系统和网络运维不是一样的。IT运维监控系统是一系列IT管理产品的统称,它所包含的产品功能强大、易于使用、解决方案齐全,可一站式满足用户的各种IT管理需求。而网络运维是指对网络设备进行监控、维护和管理,包括硬件故障的排除、软…...
c语言flag的使用
flag在c语言中标识某种状态或记录某种信息,可以通过修改flag中来控制程序流程,判断某种状态是否存在或记录某种信息 操作:(1)初始化 (2)赋值 (3)判断 (4)修改 (5)去初始化 #include <stdlib.h>int power_state_check;int main() {int i 0;power_state_check…...
docker push image harbor http 镜像
前言 搭建的 harbor 仓库为 http 协议,在本地登录后,推送镜像发生如下报错: docker push 192.168.xx.xx/test/grafana:v10.1.1 The push refers to repository [192.168.xx.xx/test/grafana] Get "https://192.168.xx.xx/v2/": dia…...
羊城杯2023 部分wp
目录 D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) Serpent(pickle反序列化&python提权) ArkNights(环境变量泄露) Ez_misc(win10sinpping_tools恢复) D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) 访问/p0p.php 跳转到了游戏界面 应该是存在302跳转…...
解读Java对Execl读取数据
1.读取execl文件路径,或者打开execl // 初始化文件流FileInputStream in = null;in = new FileInputStream(new File(path));workbook = new XSSFWorkbook(in);sheet = workbook.getSheetAt(0);rows = sheet.getPhysicalNumberOfRows(); 2.读取execl中sheet页数,即获取当前E…...
RHCE——十七、文本搜索工具-grep、正则表达式
RHCE 一、文本搜索工具--grep1、作用2、格式3、参数4、注意5、示例5.1 操作对象文件:/etc/passwd5.2 grep过滤命令示例 二、正则表达式1、概念2、基本正则表达式2.1 常见元字符2.2 POSIX字符类2.3 示例 3、扩展正则表达式3.1 概念3.2 示例 三、作业1、作业一2、作业…...
小程序实现摄像头拍照 + 水印绘制
文章标题 01 功能说明02 使用方式 & 效果图2.1 基础用法2.2 拍照 底部定点水印 预览2.3 拍照 整体背景水印 预览 03 全部代码3.1 页面布局 html3.2 业务核心 js3.3 基础样式 css 01 功能说明 需求:小程序端需要调用前置摄像头进行拍照,并且将拍…...
SpringMVC:从入门到精通,7篇系列篇带你全面掌握--三.使用SpringMVC完成增删改查
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 效果演示 一.导入项目的相关依赖 二.…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
算法250609 高精度
加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
前端打包工具简单介绍
前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...
