题目不算长,但待做的工作却有许多,大致有:
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
批量删除状态为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是实例的客户端命令
如果要停止该实例,可以
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的设置
可以准确知道该虚拟机的IP地址。在WIN7命令行方式下,有
六、局域网其他机器访问宿主机中的虚拟机的redis
如果是局域网内其他机器想访问这个redis呢?如果是桥接模式,没有什么问题,虚拟机就好像局域网内一台真实的机器,其他机器都能访问它;NAT模式的话,就要进行端口映射,将访问宿主机的请求转到虚拟机上。
具体可参考文章:
VMware虚拟机"NAT"模式端口映射设置方法
转载:https://blog.csdn.net/leftfist/article/details/101274826