-
2020-06-10 18:25:30
前提已经有redis镜像,docker pull redis
1.创建文件夹和文件
mkdir /myredis/conf
mkdir /myredis/data
vim /myredis/conf/redis.conf 文件。
复制redis.conf内容到redis.conf 文件。2.修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
requirepass foobared #设置密码 把foobared改为自己设置密码
3.创建容器
docker run -d -p 6379:6379 -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /myredis/data:/data --name myredis redis redis-server /usr/local/etc/redis/redis.conf
命令解释说明:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
–name myredis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/home/redis/redis.conf
–appendonly yes 开启redis 持久化
4.查看是否运行成功
docker ps 查看运行的容器
dockers logs redis-server/462b5d9dc033(容器名称/id)
更多相关内容 -
docker安装redis 并且映射配置文件
2021-06-13 13:07:19首先先说一个结论,docker中下载的redis官方镜像,其中是不存在redis.conf配置文件的(也有可能存在但是我没有找到),所以如果需要编辑redis的配置文件,则需要在容器启动的时候,进行一个配置文件映射,具体操作...导语:最近重新系统的学习了一遍Redis,其中安装步骤就给省略了,自行拿docker直接启动了一台redis,其中学习到配置文件的时候,我发现容器中怎么也找不到具体的配置文件,甚至踩了好多坑,于是写出本文章,仅供记录解决方案,如果可以帮助到看这篇文章的人,本人万分荣幸
首先先说一个结论,docker中下载的redis官方镜像,其中是不存在redis.conf配置文件的(也有可能存在但是我没有找到),所以如果需要编辑redis的配置文件,则需要在容器启动的时候,进行一个配置文件映射,具体操作如下
- 首先删除现在已经有的容器 (需要先停止,否则会提示正在运行的容器无法删除)
# 其中的redis01 代表的是容器名 # 这里也可以通过docker ps -a查看所有容器 来获取容器id进行停止和删除操作 # 停止容器 docker stop redis01 # 删除容器 docker rmi redis01
- 在redis官网下载一个完整的redis,一定要和容器中的版本对应,否则有可能存在配置文件有变动的可能性,取出其中的配置文件(redis.conf),使用第三方工具连接到我们的linux机器 将这个文件上传到一个自己能找到的位置,我看网上其他人博客都写得/usr/local/docker 那我就也跟风选这个文件夹了,相关指令如下
# 获取自己docker中的redis版本 这个指令需要redis容器启动中才能执行 docker exec -it redis01 redis-server -v # 创建文件夹 mkdir /usr/local/docker # 下载redis配置文件 自行在官网下载 这里就省略了 # 启动容器 # -p 6379:6379 端口映射 前面是linux端口 后面是容器端口 # -v xxxx:xxxx 文件映射 前面是linux文件地址 后面是容器内部地址 # -d 代表后台启动 # redis-server xxxx :以配置文件启动redis 其中指向的是容器内部的地址 # -- apppendonly : 开启redis持久化 docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
- 启动完成后 可以进入容器 然后使用vim指令去修改几个配置 然后stop一下重新start,验证一下配置文件是否生效即可
# 修改配置文件 (这里应该会报没有vim指令 原因是因为容器中没有安装vim指令 下面有解决方案) vim /etc/redis/redis.conf # 进入容器 docker exec -it redis01 /bin/bash # 链接reis docker exec -it redis01 redis-cli
正常按照这个步骤执行之后,应该就有效果了,完成!!!!!
注
1. 容器没有vim指令的解决方案
2. 容器中下载vim指令 网速很慢的换源解决方案全面发展,一专多能!!!!!!!!
-
【MyBatis基础教学-二】- XML 映射配置文件 【精品2】
2022-03-30 19:51:11【MyBatis基础教学二】-XML 映射配置文件 【精品2】重点【MyBatis基础教学二】- XML 映射配置文件 【精品2】
MyBatis 的 XML 配置文件包含了影响 MyBatis 行为甚深的设置和属性信息。XML 文档 的高层级结构如下:
configuration 配置
-
properties 属性
-
settings 设置
-
typeAliases类型命名
-
typeHandlers 类型处理器
-
objectFactory 对象工厂
-
plugins 插件
-
environments 环境
8.1 environments 环境- transactionManager 事务管理器
- 项目 dataSource 数据源
-
映射器
1、properties
这些是外部化的,可替代的属性,这些属性也可以配置在典型的 Java 属性配置文件中, 或者通过 properties
-
-
MyBatis配置文件之— Mapper映射配置文件中的各标签以及作用【笔记整理】
2020-07-31 15:46:04MyBatis配置文件之— Mapper映射配置文件中的各标签以及作用 Mapper映射配置文件:主要是配置sql语句 需要在核心配置文件中 通过Mapper标签引入 <?xml version="1.0" encoding="UTF-8" ?> xml文件的固定写法 ...MyBatis配置文件之— Mapper映射配置文件中的各标签以及作用
Mapper映射配置文件:主要是配置sql语句 需要在核心配置文件中 通过Mapper标签引入
<?xml version="1.0" encoding="UTF-8" ?> xml文件的固定写法 必须要在第一行 MyBatis的DTD约束:固定写法 记住即可 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> Mapper映射配置文件中的各标签以及作用 1.<mapper根标签 namespace属性> a.mapper映射根标签 mapper标签在映射配置文件中 有且仅有一个 a1.namespace属性:名称空间 分两种情况: ① 正常情况【通过 数据访问层 接口实现类 实现功能】 namespace的值 一般定义成配置文件的文件名 功能仅仅是在核心配置文件中引入时作为映射文件的唯一标识 ② 企业常用情况【接口代理方式实现功能】 namespace的值 定义成 数据访问层的接口的路径(从src开始) 功能有两个:第一个是在核心配置文件中引入时作为映射文件的唯一标识,第二个是使核心配置文件可以找到 数据访问层 的接口 2.<sql标签 id属性> 重复使用的sql语句 例:select * from student </sql> a.sql标签 作用:当sql中有重复的sql语句组成部分 可以将这些sql语句中的重复部分进行抽取 放到sql标签中 类似于方法中的代码的共性抽取 注意事项:sql标签与对应的sql语句标签的顺序是随意的【但一般是放在所有的sql语句的最前面 可以增加代码的可读性】 b.id属性 作用:由于可能会有多条sql标签包裹的sql语句,所以 id属性是 sql标签的唯一标识 注意事项: id属性 在同一个映射文件中 必须是唯一的 3.select标签 3.1<select标签 id属性 resultType属性 parameterType属性> <include标签 refid属性/> sql语句的其余部分 例:<include标签 refid属性/> where uname=#{uname} </select> 3.2<select标签 id属性 resultType属性 parameterType属性> 完整sql语句 例:select * from student where sid = #{sid} and uname=#{uname} </select> 3.3<select标签 id属性 resultType属性 > 完整sql语句 例: select * from student where sid= #{sid} </select> a.select标签:执行选择功能的sql语句标签 作用:配置sql语句中的查询功能的sql语句 注意事项:只能执行查询sql 不能执行增删改sql语句 a1.id属性: 作用:多条select标签的sql语句的唯一标识 注意事项:唯一标识 所以在同一个映射文件中 必须是唯一的 a2.resultType属性: 作用:查询方法的返回值类型的配置 注意事项: ① 查询sql 一定会有一条或者多条数据返回 所以resultType属性一定会有 ② 值 代表的一般是依据该数据表创建的javaBean类 分两种情况: 如果在核心配置文件中有<typeAliases>起别名标签 需要配合该标签的值来决定 resultType的值是什么 如果没有<typeAliases>标签 :值为对应javaBean的路径(从src出发) 返回值是list集合 而配置javaBean :框架底层做了转换 a3.parameterType属性: 作用:查询方法的参数类型的配置 注意事项: ① 查询sql对应的方法的参数列表分两种情况: ①①:没有参数: 情况:没有选择条件 即 查询所有 例:select * from student 注意事项:不需要parameterType属性 ①②:有参数:又分三种情况: 第一种: 例: * sql语句:select * from student where sid=#{sid} * 对应的方法:public Student selectById(Integer sid){方法体} 情况:参数设置的是基本数据类型的包装类 可以将值写成基本数据类型:框架底层自动匹配 第二种: 例: * sql语句:select * from student where sid=#{sid} * 对应的方法:public Student selectById (Student student){方法体} 情况:参数设置的对应的javaBean类的实例对象 parameterType属性的值 需要看核心配置文件中是否有<typeAliases>起别名标签 如果有起别名标签:需要配合该标签的值来决定paramaterType的值是什么 如果没有<typeAliases>标签 :值为对应javaBean的路径(从src出发) 第三种:请参照foreach标签中的情况 b.include标签:将相应的sql标签中的共性sql语句引入该select标签中 组合成完整的sql语句 b1.refid属性: 作用:与sql标签中的id属性对应 用来找到响应的sql标签中的共性sql语句 注意事项:必须要有 且取值一定是与该映射文件中的某个sql标签的id属性对应 4.<update标签 id属性 parameter属性>sql语句<update> 5.<insert标签 id属性 parameter属性>sql语句<insert> 6.<delete标签 id属性 parameter属性>sql语句<delete> (4/5/6)修改、添加、删除的sql语句配置 标签 属性 参照select标签 完全一样 注意事项: 1.增删改 标签的 resultType属性的值 一定都是int 而int类型不需要配置 所以 这三个标签是没有resultType属性的 </mapper>
特殊sql语句的整理【if标签和foreach标签】
特殊sql语句整理: 1.可选择参数的实现: 实现需求:重载方法的共性抽取(可变参数)【即 配置可以根据参数传递的是什么而自动匹配相应的sql语句】 组成标签及写法: <select标签 id标签 resultType属性 parameterType属性> <include标签 refid属性/> <where标签> <if标签 test属性="sid != null"> 执行sql语句:sid = #{sid} </if> <if标签 test属性="name != null"> 执行sql语句:AND uname = #{uname} </if> <if标签 test属性="age != null"> 执行sql语句:AND age = #{age} </if> </where> </select> a.<select标签 id标签 resultType属性 parameterType属性>、<include标签 refid属性/> 请遵循上面解释 b.<where标签> 作用:用来包裹<if标签> 相当于sql语句中的where关键字 注意事项:注意在结构中的位置 相当于sql语句中 where的位置 c.<if标签> 作用:相当于java中的if...else... 是用来做选择判断的 注意事项: * 1.多个条件之间是并行关系 如果写在上面的if语句 包含写在下面的if语句的判断条件 可能会导致下面的if语句中的sql失效,无法执行 * 2.test属性必须要有 如果没有 相当于这个条件一直是true 那就失去意义了 * 3.除了第一个<if>标签之外 后面的每一个<if>标签包裹的sql语句的前面都需要 + and关键字 c1:test属性: 作用:相当于java中if判断的条件 注意事项:条件的设立等等【可以想一下java中 if条件的注意事项 基本类似】 * 2.sql语句中 in 关键字的实现: 实现需求:同字段多个值的sql语句 即:in关键字的作用的实现 组成标签及写法: <select标签 id属性 resultType属性 patameterType属性=“list”> <include标签 refid属性/> <where标签> <foreach标签 collection属性 open属性 close属性 item属性 separator属性> #{随意的一个变量名:看下面的解释} </foreach> </where> </select> a.<select标签 id标签 resultType属性 parameterType属性>、<include标签 refid属性/> 请遵循上面解释 需要提及一点:foreach标签存在的sql语句 其对应的方法的参数的类型一定是list!!!!!!!!! 原因是:同字段多个值的并集查询 正常情况下 只能用list集合作为容器【数组由于需要考虑的过多,这里不适用】 b.<where标签>请遵循上面解释 c.<foreach标签> 作用:相当于java中的for循环 用来循环遍历 参数list数组中的每一个值 注意事项:由于属性过多 需要注意每个属性的值 极容易出错 【要检查拼接之后是否是一个正确的sql语句】 c1.collection属性(String类型的值): 作用:表示的参数的容器类型【一般包含两种类型 list集合,array数组 但是由于 数组 实现起来比较麻烦 所以一般使用的是集合】 c2.open属性(String类型的值): 作用:where关键词后连接的sql语句部分 c3.close属性(String类型的值): 作用:结束的sql语句部分 即:是list循环遍历之后连接的sql语句部分 c4.item属性(String类型的值): 作用:参数变量名 即:list集合中对应的数据表中的字段名(列名) c5.separator属性(String类型的值): 作用:分隔符 即:代表的是 in()括号中不同的值之前的分隔符 在Mysql中 固定是 , 整体串联起来: <include标签代表的sql语句> + <where标签代表的where关键字> + <foreach标签 open属性的值> + <foreach标签 【遍历list集合获得的值 并且每一个值之间用 separator的值做分割】 + <foreach标签 close属性的值>
-
IDEA中resources包下mybatis主配置文件config与映射配置文件mapper
2020-04-27 12:44:00在resources包下的mybatis主配置文件config与映射配置文件mapper 俩个约束: //Config的约束: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config ... -
docker安装nginx并且配置文件的映射
2022-04-25 09:11:33docker下安装及配置nginx -
MyBatis mapper.xml、config.xml映射配置文件约束头部信息
2020-07-09 23:24:131、mapper.xml配置文件约束: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 2、config... -
MyBatis配置文件(二):Mapper映射文件详解
2019-12-07 18:09:06Mapper顾名思义就是“映射”的意思,Mapper文件就是MyBatis中SQL语句的配置文件,其会在运行时加载SQL语句并映射相应参数。在MyBatis的全局配置文件SqlMapConfig.xml(mybatis-config.xml),其中就有mapper文件的... -
springboot两种方式配置文件和配置文件映射到实体类上
2021-04-12 16:15:54springboot的全局配置文件分为两种 application.properties 语法:key=value application.yml 语法:K:(空格)V 标识一对键值对,以空格的缩进来控制层级关系只要是左对齐的一列数据,都是同一层级的。 配置文件的... -
Docker Compose安装MongoDB,并向宿主机映射数据文件/配置文件/日志文件
2022-02-01 22:09:37配置docker-compose.yml 新建存放mongodb数据的文件夹 mkdir -p ~/mongodb 创建docker-compose.yml文件 vim docker-compose.yml # 按 i 进入编辑模式,输入以下内容 version: '3.8' services: mongo: image: ... -
Docker 安装MongoDB 以及 相关配置文件、数据文件映射
2021-12-11 21:35:26创建映射文件的目录 mkdir -p /usr/local/mongodb/datadb ????运行容器 docker run -d \ --name mongodb \ -p 27017:27017 \ -v /usr/local/mongodb/datadb:/data/db \ -e MONGO_INITDB_ROOT_USERNAME=admin \ -e ... -
docker 安装 mysql 并映射数据库存放路径及配置文件
2021-05-09 22:32:18docker 安装 mysql 并映射数据库存放路径及配置文件 docker安装tomcat 映射配置文件、日志文件 docker安装nginx,配置nginx,并成功访问 docker安装redis并将配置文件和数据文件映射到外部 Docker 容器互联 --link ... -
MyBatis 中XML映射配置文件
2016-04-19 22:49:15XML映射配置文件 MyBatis的XML配置文件包含了影响MyBatis行为很深的设置和属性信息。XML文档的高级层级结构如下: properties Settings 这些及其重要的调整,他会修改MyBatis在运行时的行为方式。下面这个... -
PO类注解配置和PO类映射文件配置关系
2017-10-26 13:55:27 -
MyBatis配置文件开启驼峰命名映射
2019-03-08 22:37:15MyBatis配置文件开启驼峰命名映射 今天看SpringBoot整合Mybatis时看到了,遇到了一个遗忘的点,mybatis属性使用驼峰命名,我居然给忘了怎么配置来着。修改mybatis配置文件,配置驼峰命名。 所以整理一下这些遗忘的点... -
Mybatis 核心配置文件+映射文件操作基础
2022-03-22 20:01:41小橙分享完Mybatis基础操作后,大家对于整体流程已经很清晰了,但是,在我们实际开发的过程中Mybatis中的两个重要部分:核心配置文件、映射文件,zzzz(大家可以猜一下这是什么词语,类似于yyds),而这正是Mybatis的... -
Mybatis的配置文件和映射文件详解
2017-03-27 10:44:04一、Mybatis的全局配置文件 1、SqlMapConfig.xml是mybatis的全局配置文件,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象... -
MyBatis xml映射配置文件之properties
2014-03-20 09:52:36这些是外部化的, 可替代的属性, 这些属性也可以配置在典型的 Java 属性配置文件中, 或者通过 properties 元素的子元素来传递。例如: 其中的属性就可以在整个配置文件中使用,使用可替换的属性来实现... -
docker-compose安装redis以配置文件方式启动
2021-01-29 10:31:05docker-compose安装redis ...编写docker-compose文件: docker-compose.yaml version: '3' services: redis: # 镜像名称以及版本号 image: 'redis:6.0' # 失败后总是重启 restart: always # 自定义容器名 -
MyBatis的xml映射配置文件详解
2013-08-05 11:44:34表示连接数据库的配置文件,具体和Hibernate中的连接数据库时使用的相同 typeAliases: 类型别名,可以在该标签下配置多个typeAlias typeAlias : 和JavaBean类对应的配置标签,type表示该... -
hibernate映射配置文件(xxx.hbm.xml)内容及作用
2017-07-20 18:06:15hibernate映射配置文件用于配置与数据库表之间的映射关系,(通过配置映射关系,在启动项目的时候,hibernate就会生成相对应的数据表,但是数据库得自己建) -
hibernate5.2版本配置和映射dtd文件
2017-09-06 09:49:23hibernate5.2版本配置和映射dtd文件,hibernate5.2版本配置和映射dtd文件,hibernate5.2版本配置和映射dtd文件, -
Mybatis使用generator自动生成映射配置文件信息
2015-01-24 17:51:17使用mybatis配置映射文件比较的麻烦,但是有自动生成jar工具,方便... 我们需要下载mybatis-generator-core-1.3.2.jar,mysql-connector-java-5.1.34.jar(对应相关数据库的驱动包),generator.xml(配置文件) 我 -
docker容器镜像映射配置
2019-09-12 15:39:33工作第三年, 最近接触到了目前比较流行的开发自运维(devOps...MySQL映射配置 使用docker部署MySQL的时候,必须指定映射路径,否则在服务器重启的时候,将会造成数据丢失。其映射配置非常简单,如下: 只要在docker-co... -
Docker部署Nginx并热更新配置文件步骤
2022-03-14 12:35:29启动:将nginx配置文件等映射到宿主机将docker容器内的配置文件复制到服务器刚新建的conf文建下面nginx的映射配置文件,日后只需要修改次配置文件即可;新建一个nginx的欢迎页在/nginx/www文件夹下;最后重新启动... -
Spring boot配置文件映射路径
2018-10-17 16:00:50SpringBoot 内置了tomcat,不用再像ssm那样在tomcat的server.xml文件中配置文件映射路劲。 在spring boot的自定义配置类继承 WebMvcConfigurationSupport ,添加路径映射即可,特别简单! @Configuration @... -
Tomcat配置本地文件映射
2022-04-11 10:11:46将本地文件映射成指定URL后通过Tomcat服务器对本地文件进行访问。请在Tomcat配置文件/conf/server.xml中的下添加Context配置,代码如下: -
mybatis的SQL映射配置文件
2013-11-18 16:50:20SQL映射文件有很少的几个顶级元素(按照他们应该被定义的顺序如下)。 cache - 配置给定命名空间的缓存cache-ref – 从其他命名空间引用缓存配置。 resultMap – 最复杂,也是最有力量的元素,用来描述如何... -
docker安装redis和配置文件目录挂载和配置文件启动
2020-08-06 18:17:54-p: 端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --ip: 为容器制定一个固定的ip --net: 指定网络模式 3. 进入容器查看redis.conf文件 发现是并没有...