docker部署redis
首先在linux中安装上Docker,然后启动Docker服务
Centos7中 启动Docker systemctl start docker //启动docker systemctl stop docker //停止docker systemctl restart docker //重启docker
查找想要拉取的镜像
1. 直接在Linux中使用docker search 镜像名称 搜索镜像
docker search 镜像名称
2. 在DockerHub官网上查找
使用docker pull 镜像名称 拉取镜像
docker pull redis //不指定版本号,默认拉取最新。 docker pull redis:6.0.8
拉取完镜像后,使用docker images查看已经拉取的镜像
docker images docker rmi 镜像ID //删除镜像
在运行之前对redis进行一些配置
redis.conf的配置文件可以在 http://download.redis.io/redis-stable/redis.conf 上下载
使用 mkdir /usr/local/docker 在宿主机上创建存放docker目录 vi /usr/local/docker/redis.conf 在docker中创建redis的配置文件redis.conf 将下载好的redis.conf文件替换或将内容复制到自己创建的配置文件中 然后修改配置 bind 127.0.0.1 //127.0.0.1 限制只能本机访问 将其改为0.0.0.0 protected-mode no # 默认yes,开启保护模式,限制为本地访问 daemonize no 默认no,改为yes意为以守护进程方式启动,yes会使配置文件方式启动redis失败(一开启就退出)
运行指定镜像
1. $ docker run -itd --name redis-test -p 6379:6379 redis 2. $ docker run -itd -p 192.168.220.129:6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data redis redis-server /etc/redis/redis.conf -d 以守护线程的方式运行(后台运行) -i 以交互模式运行容器 -t 为容器重新分配一个伪输入终端 -p 映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。 //未加-it可能会运行不起来因为,Docker容器后台运行,就必须有一个前台进程,容器运行的命令不是那些一直挂起的命令(比如运行top,tail),会自动退出 -v /usr/local/docker/redis.conf:/etc/redis/redis.conf //把宿主机配置好的redis.conf挂载到容器内的指定位置 -v /usr/local/docker/data:/data //把redis持久化的数据挂载到宿主机内,做数据备份 redis-server /etc/redis/redis.conf //使redis按照redis.conf的配置启动 –appendonly yes //redis启动后数据持久化
运行之后对容器进行操作
1. 查看运行中的容器 docker ps
2. 查看所有的容器 docker ps -a
3. 进入容器 docker exec -it 容器ID /bin/bash
4. 停止所有的容器 docker stop $(docker ps -q)
5. 删除所有的容器 docker rm $(docker ps -aq)
6. 停止并删除全部 docker stop $(docker ps -q) & docker rm $(docker ps -aq)
出现错误
Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint lamp3 (46b7917c940f7358948e55ec2df69a4dec2c6c7071b002bd374e8dbf0d40022c): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 86 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
解决方法
重启docker服务
systemctl restart docker
更新日志
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE
- 刘德丽《寂寞在唱歌HQCD+A2HD5》[WAV+CUE]
- 萧亚轩《钻石糖》金牌大风[WAV+CUE][989M]