首页 > 数据库 >05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos

05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos

时间:2025-01-10 19:05:55浏览次数:3  
标签:COMMENT 00 varchar 05 DEFAULT Redis Nacos NULL id

Docker学习,常用安装:Mysql、Redis、Nginx、Nacos

一、Docker安装Mysql

1、docker search mysql  							##查找mysql版本都有哪些
2、docker pull mysql:5.6 						##下载5.6版本的mysql镜像
3、docker run -p 13306:3306 --name mysql       	##运行镜像生成容器
   -v /opt/software/myfile/mysql/conf:/etc/mysql/conf.d
   -v /opt/software/myfile/mysql/logs:/logs
   -v /opt/software/myfile/mysql/data:/var/lib/mysql			
   -e MYSQL_ROOT_PASSWORD=admin123				##密码
   -d mysql:5.6									##后台静默运行
=======================================================================
4、docker ps   								    ##查看
5、docker exec -it mysql /bin/bash				##进入容器
6、mysql -uroot -p							    ##
7、docker exec mysql sh -c ' exec mysqldump --all-databases -uroot -p"admin123" ' > /opt/myfile/mysql/all-database.sql			##备份数据库数据

docker pull mysql:8.0
docker run -p 13307:3306 --name mysql       	##运行镜像生成容器
   -v /opt/software/myfile/mysql8/conf:/etc/mysql/conf.d
   -v /opt/software/myfile/mysql8/logs:/logs
   -v /opt/software/myfile/mysql8:/var/lib/mysql			
   -e MYSQL_ROOT_PASSWORD=admin123				##密码
   -d mysql:8									##后台静默运行


docker run -p 13307:3306 --name mysql8 -v /opt/software/myfile/mysql8/conf:/etc/mysql/conf.d -v /opt/software/myfile/mysql8/logs:/logs  -v /opt/software/myfile/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:8.0

二、Docker安装Redis

1、docker pull redis:3.2						##下载Redis3.2版本的镜像
2、docker run -p 16379:6379 --name redis -v 
         /opt/software/myfile/redis/conf/redis.conf:/etc/redis/redis.conf -v 
         /opt/software/myfile/redis/data:/data -d redis redis-server 
         /etc/redis/redis.conf 
         --appendonly yes
=======================================================================
3、docker ps
4、docker exec -it redis redis-cli		##运行redis-cli
5、操作redis
6、在/opt/myfile/redis/data查看是否有持久化文件生成

三、Docker安装Nginx

1、搜索nginx
docker search nginx
2、拉去nginx镜像
docker pull nginx
3、启动一个nginx,目的是为了把它里面的配置文件cp出来,方便一会挂载
docker run -p 80:80 --name nginx -d nginx
4、复制容器中的配置文件
docker container cp nginx:/etc/nginx . 
5、将复制出来的文件改变名称,由nginx变成conf
mv nginx/ conf
6、停止容器
docker stop nginx
7、删除容器
docker rm nginx
8、启动新的nginx容器,并挂载刚才复制出来的conf配置文件
docker run -p 80:80 --name nginx \
-v /opt/software/myfile/nginx/html:/usr/share/nginx/html \
-v /opt/software/myfile/nginx/logs:/var/log/nginx \
-v /opt/software/myfile/nginx/conf:/etc/nginx \
-d nginx
9、测试
localhost:80
发现没有正常显示,是因为挂载的html中的index.html文件没有。在html中创建一个index.html并写入内容
10、测试
localhost:80
## 关于nginx 开发多个配置文件 多个端口的问题

1、首先nginx.conf 要 开启多配制 :include /etc/nginx/conf.d/*.conf;

2、在conf.d文件夹下创建你想要的配置和想要的端口



3、创建了多配制 多端口后发现还是访问不到,有可能遇到的原因是docker 没有映射多出来的端口,
如下 除了默认的80端口,再新映射一个81(你想要的端口)即可



docker run -p 80:80 -p 81:81 --name nginx \
-v /opt/software/myfile/nginx/html:/usr/share/nginx/html \
-v /opt/software/myfile/minio/data:/usr/share/nginx/html/data \
-v /opt/software/myfile/nginx/logs:/var/log/nginx \
-v /opt/software/myfile/nginx/conf:/etc/nginx \
-v /opt/software/myfile/nginx/conf/conf.d:/etc/nginx/conf.d \
-d nginx

四、Docker安装Nacos

##docker安装nacos(单机)、使用默认的mysql数据库

1、拉取镜像
docker pull nacos/nacos-server
2、创建本地映射文件
mkdir -p /opt/software/myfile/naocs/init.d /opt/software/myfile/nacos/logs
touch /opt/software/myfile/nacos/init.d/custom.properties

在custom.properties中写入:
management.endpoints.web.exposure.include=*

3、创建数据库 nacos_config

4、nacos初始化sql,需要先创建nacos数据库后,然后执行下面的Sql

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(64) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `src_user` text,
  `src_ip` varchar(20) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE users (
    username varchar(50) NOT NULL PRIMARY KEY,
    password varchar(500) NOT NULL,
    enabled boolean NOT NULL
);

CREATE TABLE roles (
    username varchar(50) NOT NULL,
    role varchar(50) NOT NULL,
    constraint uk_username_role UNIQUE (username,role)
);

CREATE TABLE permissions (
    role varchar(50) NOT NULL,
    resource varchar(512) NOT NULL,
    action varchar(8) NOT NULL,
    constraint uk_role_permission UNIQUE (role,resource,action)
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');


5、创建容器
docker run -d -p 7848:7848 -p 8848:8848 -p 9555:9555 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.73.107 \
-e MYSQL_SERVICE_PORT=13306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=admin123 \
-e MYSQL_DATABASE_NUM=1 \
-v /opt/software/myfile/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /opt/software/myfile/nacos/logs:/home/nacos/logs \
--restart always --name nacos nacos/nacos-server


## 其中端口 7848、8848、9848、9849是必须要开放的端口,8848是web页面端口,7848是集群数据同步接口,9848、9849是nacos 2.0.0以上的版本必须开发的端口。

6、启动容器
docker start nacos







十、Docker本地镜像推送到阿里云

1、生成镜像
   1)、DockerFile  ##第一种方式:生成本地自己的镜像
   2)、docker commit -a lee -m "new mycentos 1.4 from 1.3"  c167ee237b87 mycentos:1.4  		##第二种方式:从容器创建一个新的镜像
	(-a 提交镜像的作者 -m 提交时的文字说明)(docker commit [options] 容器ID [REPOSITORY[:TAG]])

2、将本地镜像推送到阿里云
	1)、阿里云开发者平台->容器镜像服务->镜像列表->镜像仓库列表
	2)、创建镜像仓库->(命名空间、仓库名称、摘要、描述信息等)
	3)、将镜像推送到Registry
docker login --username=xxxxxxx registry.cn-beijing.aliyuncs.com
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/xxxxxx/docker_warehouse:[镜像版本号]
docker push registry.cn-beijing.aliyuncs.com/xxxxx/docker_warehouse:[镜像版本号]

3、从Registry中拉取镜像
docker pull registry.cn-beijing.aliyuncs.com/xxxxx/docker_warehouse:[镜像版本号]

标签:COMMENT,00,varchar,05,DEFAULT,Redis,Nacos,NULL,id
From: https://blog.csdn.net/pilot_speed/article/details/145006641

相关文章

  • 【模拟电子技术】05-二极管的微变等效和稳压二极管
    【模拟电子技术】05-二极管的微变等效和稳压二极管经过图中推导可得到等效电阻与温度当量UT相关,并且与托高作用的直流电压相关,下面是二极管的微变等效思路。等效后电路如下,注意直流电压源已经等效在坐标图中将原点移动,因此分析的时候不要再考虑。至此二极管V-A特性曲线正......
  • redis-7.4.2哨兵随记
    ###########################redis.conf7.4.2主从################################http://download.redis.io/releases/redis-7.4.2.tar.gztarxfredis-7.4.2.tar.gzcdredis-7.4.2makemakeinstallPREFIX=/usr/local/ccdt/redis_7.4.2/redis36379makeinsta......
  • Redis数据库——Redis快的原因
    本文详细介绍redis为什么这么快的原因,这里是本系列文章的总结篇(后面会补充一些内容,或者在原文上进行更新迭代),将从各方面出发解释为什么redis快,受欢迎的原因。文章目录内存内存数据库预分配内存数据结构数据结构优化内存优化的编码持久化优化AOF和RDB单线程单线程......
  • SpringBoot3整合Redission
    1.依赖<dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.25.0</version></dependency>2.ymlspring:data:redis:#数据库datab......
  • 网关 + Nacos配置管理
    网关网关:就是网络的关口,负责请求的路由、转发、身份校验。网关路由新建网关模块gateway引入相关依赖<!--网关--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos......
  • Redis连接失败:客户端IP不在白名单中的分析与解决(ERR client ip is not in whitelist)
    个人名片......
  • 【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第
    【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到appstore完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app背景介绍接第四篇提交了安卓商店后,需要等待审核结果,但是目前苹果上架我们......
  • day05_Spark SQL
    文章目录day05_SparkSQL课程笔记一、今日课程内容二、SparkSQL基本介绍(了解)1、什么是SparkSQL**为什么SparkSQL是“SQL与大数据之间的桥梁”?****实际意义**为什么要学习SparkSQL呢?**为什么SparkSQL像“瑞士军刀”?**2、SparkSQL与HIVE异同3、SparkSQL的数......
  • [CF2057F] Formation 做题记录
    link对我比较有意义的一道题目。我们先逐步分析,对于单个询问,先钦定最大值位置\(i\),我们现在的目标是最大化\(a_i\)的值。这显然有单调性,考虑二分一个\(mid\)表示最终值,那么会出现一个\(l(l\lei)\)以及一个序列\(c_{0\dotsl-1}\)有\(c_i=\lceil\dfrac{mid}{2......
  • P9 CF2050G Tree Destruction
    CFRound991(div.3)G​ 十分经典的树形DP,但是我却对此十分畏惧...​ 这题思路上没什么好说的,很容易就能想到用DP。要说麻烦,主要可能就是理清树上的链和点之间的关系,方便构造转移方程。​ 对于以\(pos\)为根的子树,如果我们要找一条链在此子树中,那本质上就是两个状态:\(po......