美文网首页
mesos 容器映射端口限制

mesos 容器映射端口限制

作者: 北极企鹅ys | 来源:发表于2018-07-11 16:23 被阅读0次

介绍

mesos 在启动容器的时候,理念是容器内的端都映射到宿主的随机端口。
在容器的时代,其实这样的理念是很好,当容器多的时候,固定端口肯定是有一定的局限性的。可以通过注册中心、mesos-dns、marathon-lb等服务来找到你要的服务地址和端口。
但是有时候有一些服务需要一些固定端口。比如cadvisor、还有我们自己写的容器,可能会映射一些其他端口。

默认端口限制

默认mesos的端口也是可以指定的,只是范围比较小。

31000 - 32000

marahotn 的json 文件中,你可以写。

  "portMappings": [
    {
      "containerPort": 80,
      "hostPort": 31000,  # 一般设置 0 为随机端口,
      "servicePort": 0,
      "protocol": "tcp"
    }
  ]

docker 启动时候就是

[root@test00 ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                            NAMES
70314cd31714        nginx-nettools:1.13   "nginx -g 'daemon ..."   24 minutes ago      Up 24 minutes       443/tcp, 0.0.0.0:31000->80/tcp   mesos-07a768f1-f635-4517-9b60-4e86bfef658e

配置mesos

yum 安装的meoss 添加配置

echo "ports(*):[1024-65534]" > /etc/mesos-slave/resources 

重启 mesos-slave 服务

systemctl restart mesos-slave

二进制安装的mesos 在启动命令中添加

--resources=ports(*):[1024-65534]

这样你的端口就是在 1024 - 65524 中间随意指定了。

测试

marathon json文件

 "portMappings": [
   {
     "containerPort": 80,
     "hostPort": 8080,
     "servicePort": 0,
     "protocol": "tcp"
   }
 ]

docker 启动时候是

[root@test00 ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                           NAMES
1235513ee658        nginx-nettools:1.13   "nginx -g 'daemon ..."   6 minutes ago       Up 6 minutes        443/tcp, 0.0.0.0:8080->80/tcp   mesos-655d4923-0d1f-4130-8d61-aab824df3f25-S13.9e0c2cfb-3d07-467f-ac47-08e492703263

Q&A

如果mesos上运行过容器,在你修改配置文件之后重启会有问题。

你可以通过
journalctl -xe
或
查看mesos的log日志 找到问题

解决方法: 日志中会有提示

To remedy this do as follows:
Step 1: rm -f /home/mtime/mesos/meta/slaves/latest
        This ensures agent doesn't recover old live executors.
  ep 2: Restart the agent.

rm -f /home/mtime/mesos/meta/slaves/latest
删除之后在重启即可。

我的 github 博客https://sukbeta.github.io/mesos-container-port-limit/

相关文章

  • mesos 容器映射端口限制

    介绍 mesos 在启动容器的时候,理念是容器内的端都映射到宿主的随机端口。在容器的时代,其实这样的理念是很好,当...

  • 19年第41周:Docker——使用网络

    一、外部访问容器 常用端口映射 -p 宿主机端口:容器端口 多个端口映射 -p 宿主机端口1:容器端口1 -p 宿...

  • 端口映射

    设置容器端口映射 查看端口映射

  • Docker-端口映射

    Docker-端口映射 Docker端口映射 docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无...

  • Docker 容器连接

    网络端口映射 -P 内部随机映射 -p 绑定端口 为容器命名 runoob-nginx-test容器名称 拷贝容器...

  • Docker容器内部署静态网站

    设置容器的映射端口-P 暴露所有端口进行映射-p 暴露指定容器端口 四种方式 示例: Nginx部署步骤: 创建映...

  • docker网络模式

    docker网络 使用网络 外部访问容器 -p/P端口映射参数 docker port查看当前端口映射 容器互联 ...

  • docker学习——端口映射和容器互联

    1.端口映射实现访问容器 (1)从外部访问容器应用 -P(大写)会随机映射一个49000~49900端口到内部容器...

  • Docker容器的端口映射

    在Docker容器的日常使用中,有以下5种常见的端口映射方式 对容器暴露的所有端口,随机映射宿主机端口 -P , ...

  • Volumn映射目录

    执行命令 -p参数:容器的 80 端口映射到本机的 8888 端口。-it参数:容器的 Shell 映射到当前的 ...

网友评论

      本文标题:mesos 容器映射端口限制

      本文链接:https://www.haomeiwen.com/subject/tqghpftx.html