闲来无事,记录分享下基础的Docker知识,当做给自己复习啦。
安装Docker可前往官网查阅,Redirecting…
如果看官你懒,也可照我的操作:
前提,保证你是root权限,不然各个命令你前面要加sudo
1、安装Docker需要的软件包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2、设置稳定的仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3、安装社区版Docker
yum install docker-ce docker-ce-cli containerd.io
4、启动Docker
systemctl start docker
5、运行"国际第一个文件" 验证是否安装成功
docker run hello-world
6、私人小干货:使用阿里云平台的镜像加速服务,可以加快 docker pull 镜像的速度!(腾讯云就看这里“轻量应用服务器 安装 Docker 并配置镜像加速源 - 最佳实践 - 文档中心 - 腾讯云”)
6.1、前往阿里云平台搜索“容器镜像服务”。
6.2、照着官方案例配置
至此,Docker安装就搞定了!
下面是Docker部署Redis的步骤:
1、拉取最新的Redis docker镜像
docker pull redis:latest
2、把镜像跑起来生成容器(-itd参数什么意思,大家可以docker run -help查看;6379是本地映射出去的端口)
docker run -itd --name my_redis -p 6379:6379 redis --requirepass "password"
3、没有3了,搞定了,如果开着防火墙,记得把6379端口打开!!!
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果要玩主从复制,持久化等操作的话,还需要redis.conf配置文件,而上面的配置运行默认是不带这个配置文件的。
你run的时候 使用 -v 指定外部的redis.conf文件挂载到容器内部指定路径,修改配置文件时,只修改外面的redis.conf,就可以同步修改容器内部的redis.conf,run的时候还要以配置文件的方式启动。
1、本地创建/usr/local/docker/conf/redis.conf文件,复制官网的内容进去。
mkdir /usr/local/docker
mkdir /usr/local/docker/redis
mkdir /usr/local/docker/redis/conf
mkdir /usr/local/docker/redis/data
touch /usr/local/docker/redis/conf/redis.conf
redis.conf文件内容自行添加:
切记注释掉:#daemonize yes 否则无法启动容器
2、部署镜像生成容器
docker run -d --privileged=true -p 6379:6379 -v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data --name my_redis redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass "your_password"
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件
-v /usr/local/docker/redis/data:/data:映射数据目录
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
--appendonly yes:开启数据持久化。
如需远程连接的话,要修改下redis的配置usr/local/docker/conf/redis.conf:
1、注释bind参数
2、关闭远程保护protected-mode(yes 改为 no)
修改完要重启容器。
这样就搞定了。。。。。。