本文是适合对docker从来没接触过,像我这样的小白来操作,我用的是centos
1.首先安装docker
centos安装docker命令如下:
$ 1、更新update到最新的版本
~ yum update
$ 2、卸载老版本docker
~ yum remove docker docker-common docker-selinux docker-engine
$ 3、安装需要的软件包
~ yum install -y yum-utils device-mapper-persistent-data lvm2
$ 4、设置yum源
~ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ 5、查看docker版本
~ yum list docker-ce --showduplicates|sort -r
$ 6、安装docker
~ yum install docker-ce-18.03.1.ce -y
$ 7、启动docker
~ systemctl start docker
$ 8、加入开机自启
~ systemctl enable docker
$ 9、配置国内镜像
~ vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://cr.console.aliyun.com/"]
}
~ ps -aux | grep docker
docker安装成功后页面会出现docker图标,还可以docker -version看来是否安装成功
注意:配置阿里镜像https://cr.console.aliyun.com/ 可能还是会很慢,更换成http://hub-mirror.c.163.com/ 加速镜像
2. 创建dockerfile文件
Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建
这种方式是比较流行的方式。就是将需要对镜像的操作全部写到一个文件中,然后使用docker build命令从这个文件中创建镜像。这种方法可以使镜像的创建变得透明化和独立化,并且创建过程可以被重复执行。dockerfile文件以行位单位,性首为dockerfile命令,命令都是大写形式,期后紧跟着的是命令的参数。
除了创建Dockerfile文件外还有准备 redis-5.0.7.tar.gz 安装包,下载地址:https://github.com/antirez/redis/archive/5.0.7.tar.gz
Dockerfile文件内容如下:
FROM centos:centos7
RUN groupadd -r redis && useradd -r -g redis redis
# copy redis安装程序
# COPY ["<源路径1>",... "<目标路径>"]
COPY ./redis-5.0.7.tar.gz redis-5.0.7.tar.gz
RUN yum update -y ; \
yum -y install gcc automake autoconf libtool make wget epel-release gcc-c++;
上面大概意思是:拉取centos7镜像,将宿主机redis5安装包拷贝到要创建的镜像中,再安装gcc
执行:
docker build -t redis5 .
安装成功后 docker images会出现名为 redis5的镜像
接着再创建Dockerfile2文件
FROM redis5
EXPOSE 6379
执行:docker build -t redis55 -f Dockerfile2 .
成功后会看到多了一个redis55镜像
3.安装redis5
docker run -itd -p 8379:6379 --name redis5 redis55
创建redis5的容器并配置端口,8379为宿主机的端口,6379为容器端口
tar -xzvf redis-5.0.7.tar.gz
make
make install
依次解压安装
安装完成后执行redis-server
恭喜成功了,啦啦啦,是不是瞬间心旷神怡,万马奔腾的赶脚...
请别慌,年轻人,这样我们还忘记了一步,要使外部能访问,还需改个配置。
find / -name reids.conf
找到redis.conf文件
/127.0.0.1
bind 127.0.0.1 注释掉
/protected
protected-mode yes 将yes改为no
重启 redis-server /usr/src/redis/redis-5.0.7/redis.conf
使用 redis desktop managger
端口为8379 ip为你宿主机ip
这样外部就可以访问了