Docker配置windows 10 访问内部容器

闲来无事,折腾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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值