闲来无事,折腾Spring的HandlerMethodReturnValueHandler差不多了,然后玩下docker,实际上之前也用过,只是没有像现在一样,突然发现我擦,Docker这么牛掰,内部可以运行多个容器,都不用自己安装Mysql,或者是Mongodb,RabbitMQ这些了,直接在docker中启动一个实例就可以了,很方便,并且还可以限制Docker使用内存大小,一般来说,我们开这些容器,就是用来测试一下的,所以其实用过几次,然后可能就吃灰了,放在docker中的话,方便新建和管理,不想用了,直接删除就可以了,安装实例也很简单,就像是Centos下边使用yum安装软件一样。以前怎么就没发现它的优点呢,暴谴天物啊!!
简单记录一下我的使用过程吧:
首先是去官网下载软件,这个就不用我说了吧,大家都是程序员~~,这不是小菜一叠儿吗~~
在命令行启动:
docker run -d -p 127.0.0.1:63790:6379 --name redis-test redis
这里的-p 127.0.0.1:63790:6379是指要端口映射,将windows10的127.0.0.1:63790端口,
映射到内部容器的6379端口,这样外部就可以使用127.0.0.1:63790连接redis了。别的容器也是一样的。
注意,这里的指令可以打乱顺序,比如:
docker run --name redis-test -d -p 127.0.0.1:63790:6379 redis
这样也是可以的
如果没有镜像的话,会去拉取镜像:
C:\Users\89570>docker run --name redis-test -d -p 127.0.0.1:63794:6379 redis
06adc5f808b2c3590718a448fcad9ea84f129054e31100d00e0061883dbf3a3a
C:\Users\89570>
使用docker ps查看容器信息:
C:\Users\89570>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06adc5f808b2 redis "docker-entrypoint.s…" 4 minutes ago Up 4 minutes 127.0.0.1:63794->6379/tcp redis-test
dc7bdaeeba04 redis "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 127.0.0.1:63793->6379/tcp test1
14879b6db068 redis "docker-entrypoint.s…" 17 minutes ago Up 17 minutes 127.0.0.1:63792->6379/tcp test
b9de086f12a1 redis "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 127.0.0.1:63791->6379/tcp modest_chebyshev
a170fd218e2a redis "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 127.0.0.1:63790->6379/tcp dreamy_euclid
C:\Users\89570>
或者直接使用docker的dashboard图形化查看,这个比较友好哦。
这里也可以看见已经绑定了端口,外部就可以127.0.0.1:63794访问了。
是不是很简单,但是很有力量感,像是一个潘多拉,也可以在docker中跑Ubuntu,centos,zookeeper,或者mysql,rabbitmq之类,可以不用virtual box或者vm workstation啦,是不是很好玩,吓得我马上卸载了Mysql和Mongo!!!
其实准确的来说,docker和virtual box或者是vm workstation没有本质区别,但是虚拟化技术,模拟Linux的运行环境,然后这些第三方的组件,就可以跑在Linux上,并且不用关心依赖问题,应该是docker已经打包在了mirror里边了。
还有个好处就是各个组件之间是隔离的,比如我可以启动三四个redis,然后每个redis都以为自己活在真实的物理机上,这就是我的世界,但殊不知,它活在虚拟世界中,这一切都只是docker营造出来的环境,然后docker再利用端口映射,这些可怜的小家伙们就可以和外边的世界通讯。不过如果你乐意的话,你可以帮他们加入一个新的伙伴centos,然后他们两个就是竞争关系了,甚至可以在centos里边再跑一个docker,然后centos和redis就以为自己是上帝,可以看见docker中的小世界啦。我们也许和以为自己是上帝的redis和centos一般,活在虚拟世界中呢。如果有人能够看到这里,我推荐一部动漫,瑞克和莫蒂,很好玩的。脑洞不是一般的大,瞬间就感觉和国内的漫画不一样。有种感觉,国内是武侠梦,日本是搞笑番,国外是脑洞剧。end