怎样获取docker动态分配的port
一、原由
当在一个集群环境中,我们需要用到docker启动一个服务的时候,如果总是指定固定的公开端口给docker运行的服务,那么将极大的限制了服务部署的灵活性和可维护行。那么有没有办法在服务启动后去容易获得docker动态分配的端口呢?
二、解决办法
Docker提供了port
的子命令,具体使用如下:
docker port <container-name> |cut -d':' -f2
三、后续问题
目前这种方式只适合外服务外做服务注册的场景。
如果服务注册是在服务程序中完成的(如上报到zookeeper等),那么目前是没有办法的。有个issue3778在跟,不知道docker什么时候提供
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。
相关推荐
-
利用OpenVSwitch在多台主机上部署Docker的教程
[编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的入门程序,多主机的网络设置成了下一道门槛.在你尝试各种方案时不妨先看看本文,或许就会豁然开朗,发现原来也不复杂.嗯,是的,本文用到了 OpenVSwitch. 运行Docker已经不是什么新鲜事,网上有很多入门教程来帮助你在一台主机上运行容器.这台主机可以是Linux服务器,也可以是Mac(借助类似boot2docker的项目). 在多台主机上运行却是
-
Docker到底是什么?Docker为什么它这么火!
Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发.Xcode是开发OS X 和 iOS 应用程序的最快捷的方式.Xcode 具有统一的用户界面设计,编码.测试.调试都在一个简单的窗口内完成. 背景介绍 Xcode前身是继承自NeXT的Project Builder. The Xcode suite 包含有GNU Compiler Collection自由软件 (GCC. apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc
-
搭建基于Docker的PHP开发环境的详细教程
现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源).在容器技术.Docker和更多类Docker技术出现后,解决这个问题就变得简单了. 免责声明 由于boot2docker的工作方式,本文所述的方法在你的环境中可能无法正常运行.如果需要在非Linux环境下共享文件夹到Docker容器,还需要注意更多额外的细节.后续我会写篇文章专门来介绍实际遇到的问题. 怎样才算是好的开发环境 首先,我们得知道什么才是好的开发环境
-
在windows下的安装Docker的教程
非官方备注:你的CPU一定要支持VT才可以,笔者的笔记本T6400不支持VT是装不上的,所以一定要支持VT,好在笔者的MAC很OK,公司电脑也给力,如果在win7系统安装需要是64的系统. 上一节我们介绍了在ubuntu和centos下的安装,当然都是基于64位系统的,在学习过程中,你可能没有这些东西,当然你可以用virtualbox或者Vmware虚拟化出来,今天我们介绍的是官网给我们提供的using vagrant! 介绍 Docker可以用虚拟主机技术运行在Windows上像virtual
-
ubuntu14.04+docker的安装及使用
安装 官方推荐在ubuntu安装,本文选择在ubuntu14.04作为宿主系统. 系统更新 复制代码 代码如下: sudo apt-get update && apt-get upgrade -y sudo reboot #最好重启一下 安装docker 复制代码 代码如下: curl -s https://get.docker.io/ubuntu/ | sudo sh 基础命令 复制代码 代码如下: # 下载一个ubuntu镜像 sudo docker pull ubuntu
-
在Docker上开始部署Python应用的教程
几周前, Elastic Beanstalk声明在AWS云中配置和管理Docker容器.在本文中,我们通过一个简单的注册表单页面应用去理解Docker部署过程,该表单使用Elastic Beanstalk Python环境. 关于注册表单应用 几个月之前,我们就已经开发完这个应用并且发表在博客上.有4部分视频和一篇文章"Using DynamoDB and SNS with Elastic Beanstalk in any Supported AWS Region".今天,我们将在这部
-
MAC下安装docker教程
序 由于云主机很快就要到期了,还是在mac上先搭一下docker环境吧. 安装brew curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 boot2docker方式(将要废弃) 安装docker sudo brew install boot2docker boot2docker init 启动 boot2docker up 按提示更新环境变量 export
-
再Docker中架设完整的WordPress站点全攻略
1. 安装 Docker 在我们真正开始之前,我们需要确保在我们的 Linux 机器上已经安装了 Docker.我们使用的主机是 CentOS 7,因此我们用下面的命令使用 yum 管理器安装 docker. # yum install docker # systemctl restart docker.service 2. 创建 WordPress 的 Dockerfile 我们需要创建用于自动安装 wordpress 以及其前置需求的 Dockerfile.这个 Dockerfile 将用于
-
在Docker上部署Python的Flask框架的教程
本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法.虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序).Docker通过封装依赖项,大大减少了开发环境和正式产品的差距. 大多数Python开发人员在开发中使用virtualenv.它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同
-
Docker 清理命令集锦
杀死所有正在运行的容器 复制代码 代码如下: docker kill $(docker ps -a -q) 删除所有已经停止的容器 复制代码 代码如下: docker rm $(docker ps -a -q) 删除所有未打 dangling 标签的镜像 复制代码 代码如下: docker rmi $(docker images -q -f dangling=true) 删除所有镜像 复制代码 代码如下: docker rmi $(docker images -q) 为这些命令创建别名 复制代码
随机推荐
- Linux帮助和用户管理命令
- SWT(JFace) 图片浏览器 实现代码
- 零基础易语言入门教程(一)
- Java并发编程示例(三):线程中断
- java泛型学习示例
- CloudStack 安装及使用过程中常见问题汇总
- C#嵌套类的访问方法
- 利用Shell脚本实现远程MySQL自动查询
- ajax的 IE cache 相关问题解决
- js实现随机的四则运算题目效果
- IIS6、IIS7、IIS7.5取消服务器主机空间目录脚本的执行权限的方法
- jqPlot 基于jquery的画图插件
- javascript中的void运算符语法及使用介绍
- JS中图片缓冲loading技术的实例代码
- Android实现手势滑动多点触摸放大缩小图片效果
- 解决NDK开发中Eclipse报错Unresolved inclusion jni.h的最终解决方法(已测)
- 浅谈JVM核心之JVM运行和类加载
- Android自定义View接收输入法输入的内容
- Android 简单实现一个流式布局的示例
- vue+element-ui+ajax实现一个表格的实例