vmware10中安装配置docker和redis及外部访问

题目不算长,但待做的工作却有许多,大致有:

1、在vmware中安装linux虚拟机
2、linux中安装docker
3、docker中安装redis
4、启动redis
5、宿主机访问虚拟机的redis
6、局域网其他机器访问宿主机中的虚拟机的redis

详细说明

一、在wmware中安装linux虚拟机

宿主机操作系统WIN7,虚拟机软件vmware10。安装centos7。过程无非就是到centos官网下载安装包,然后挂在虚拟机的光驱上。值得一提的是,centos安装有一些选项,可以按使用类型决定安装哪些软件,比如办公软件,开发软件,等等。

参考文章
在VMware虚拟机中安装CentOS 7(图文教程)

二、centos7中安装docker

参考文章
CentOS7安装Docker

三、docker中安装redis

见第二步。
也许安装redis是多余的,因为在安装centos的过程中,好像也安装了redis。
另一个问题是,我在centos中使用的是一个自定义账号,基本上许多命令都要在前面加上“sudo”,采用管理员身份执行。

查看docker中运行的镜像:

sudo docker ps

查看docker中所有已注册的镜像:

sudo docker ps -a

查看docker中所有的镜像文件:

sudo docker images

删除某一镜像

sudo docker rm 镜像名

批量删除状态为Exited的容器,一般命令这样写:

docker rm $(docker ps -q -f status=exited)

但我这里总是提示没有权限,要这样写:

sudo docker rm $(sudo docker ps -q -f status=exited)

本步骤中,docker中安装一个redis,是一行命令:

docker pull redis

简洁,但像npm install,也是一行命令啊。到这里为止,还没看到docker的优势在哪里。

四、启动redis

添加并启动一个redis

sudo docker run -p 6379:6379 --name redis004 -d redis redis-server

这样就挂载了一个名为redis004的实例并运行。

-p hostport:containerport,将容器端口(containerport)映射到宿主机端口(hostport)。注意,这里说的宿主机应该是指Linux,而不是Linux的宿主机win7。

--name 命名该挂载

-d 后台运行

redis:redis这个镜像

redis-server:redis服务命令

然后自己访问:

docker exec -it redis004 redis-cli

redis-cli是实例的客户端命令
vmware10中安装配置docker和redis及外部访问_第1张图片

如果要停止该实例,可以

sudo docker stop redis004

开启

sudo docker start redis004

如果想开机自启动,可以加入 --restart always 参数:

sudo docker run --name redis007 -p 20002:6379 -d --restart always redis redis-server

参考文章
docker 安装redis 并配置外网
Docker端口映射

五、宿主机访问虚拟机的redis

我这个虚拟机的网络采用NAT,其IP来源于宿主机的DHCP。所以要想访问该虚拟机,就要找到它的IP。
虚拟机的网络设置有桥接,有NAT。简单来说,桥接就是虚拟机拥有局域网内一个IP,仿佛跟宿主机平起平坐;而NAT的话,IP靠宿主分配,局域网不能识别。

在linux下运行ifconfig命令

ifconfig

出来的IP有许多,根据vmware的设置
vmware10中安装配置docker和redis及外部访问_第2张图片
可以准确知道该虚拟机的IP地址。在WIN7命令行方式下,有
vmware10中安装配置docker和redis及外部访问_第3张图片
在这里插入图片描述

六、局域网其他机器访问宿主机中的虚拟机的redis

如果是局域网内其他机器想访问这个redis呢?如果是桥接模式,没有什么问题,虚拟机就好像局域网内一台真实的机器,其他机器都能访问它;NAT模式的话,就要进行端口映射,将访问宿主机的请求转到虚拟机上。
vmware10中安装配置docker和redis及外部访问_第4张图片
具体可参考文章:
VMware虚拟机"NAT"模式端口映射设置方法

你可能感兴趣的:(应用,微服务)