`

发布docker程序到marathon

阅读更多

1 发布docker程序到marathon

1.1 搭建私有docker registry

1.1.1 安装docker regisry

docker pull docker-registry
docker run -t -p 5000:5000 docker-registry

下载docker镜像并发布到私有registry

docker pull consol/tomcat-8.0
docker tag consol/tomcat-8.0 192.168.1.103:5000/tomcat
docker push 192.168.1.103:5000/tomcat

所有需从私有regisry下载docker镜像的客户端作以下配置(主要是mesos slave机器)

vi /usr/lib/systemd/system/docker.service

修改如下:即在/usr/bin/docker -d后增加--insecure-registry 192.168.1.103:5000

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/docker -d --insecure-registry 192.168.1.103:5000 $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
MountFlags=slave

[Install]
WantedBy=multi-user.target

1.2 发布docker镜像到marathon平台

1.2.1 修改mesos client配置

所有的mesos slave机器:

echo 'docker,mesos' > /etc/mesos-slave/containerizers
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
systemctl restart mesos-slave

1.2.2 编写Docker.json

{
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "192.168.1.103:5000/tomcat",
      "network": "BRIDGE",
      "portMappings": [
         { "containerPort": 8080, "hostPort": 0, "protocol": "tcp" }
      ]
    }
  },
  "id": "tomcat",
  "instances": 3,
  "cpus": 0.5,
  "mem": 512,
  "uris": [],
  "cmd":"/opt/tomcat/bin/deploy-and-run.sh"
}

1.2.3 通过marathon api发布

curl -X POST -H "Content-Type: application/json" http://192.168.1.110:8080/v2/apps -d@Docker.json

1.1.3 说明

本例发布了2个docker images,另外是一个spring boot的可执行jar包。

 

转自http://wiselyman.iteye.com

分享到:
评论

相关推荐

    storm-marathon:Apache Storm 0.9.3-rc1 Docker 集群使用 Marathon 部署在 Apache Mesos 上

    在高可用性模式下运行 Apache Storm 0.9.3... Docker 允许我们在 Apache Mesos 上部署任何版本的应用程序(在我们的例子中是 Storm),同时隔离进程。 类似的方法可用于以高可用性模式在 Apache Mesos 上部署任何其他分

    ci-mesos:通过Docker,Mesos和Marathon增强了Jenkins

    在Marathon界面中显示应用程序 显示Jenkins在Mesos奴隶上的日志 $docker ps $docker logs -f $( docker ps -lq ) 通过URL转到Jenkins 在Jenkins上配置Mesos集群 Mesos本机库路径= / usr / lib / libmesos.so M

    使用Mesos和Marathon管理Docker集群

    分布式系统是难于理解、设计、构建和管理的,他们将比单个机器成倍还要多的变量引入到设计中,使应用程序的根源问题更难发现。SLA(服务水平协议)是衡量停机和/或性能下降的标准,大多数现代应用程序有一个期望的弹性...

    marathon-flocker-plugin-demo:使用Marathon和Flocker Docker插件迁移PHPMyAdmin和MySQL应用程序的演示

    使用Marathon和Docker Flocker卷驱动程序将受限于旋转磁盘上MySQL / PHPMyAdmin迁移到固态磁盘的演示。 先决条件: 1.启动您的无所事事的环境 $ vagrant up 然后导航到您将看到一个空的Marathon界面,其中未部署...

    docker-controller

    [marmelatze / docker-controller)[ ]将容器元数据导出到可配置的后端(当前仅支持Consul) [marmelatze / marathon-sclaer] [ ]收集容器数据的监视数据(通过prometheus),并在需要时扩展马拉松应用程序。...

    depcon:支持MesosMarathon和Compose的Docker蓝绿色部署管理

    Depcon(容器部署) 用于针对Mesos / Marathon,Kubernetes和Amazon ECS的Docker容器的高级部署工具有关最新文档和用法的完整信息,请参见:概述Depcon使管理运行Docker容器的集群变得轻而易举。 它提供了定义环境的...

    Apollo:一个基于Apache Mesos和Docker的云原生应用程序开源平台

    阿波罗 Apollo是一个开源项目,旨在帮助构建和部署IAAS和PAAS服务。... Docker容器管理和编排(Marathon框架,Kubernetes) Hadoop /大数据平台(Storm框架和其他) 有关可用的Mesos框架,请参见 。 如

    marathon-lb:Marathon-lb是DCOS的服务发现和负载平衡工具

    马拉松磅 Marathon-lb是通过使用应用程序状态来管理HAProxy的工具。 HAProxy是一种快速,高效,经过考验的高可用性负载...建筑学marathon-lb脚本marathon_lb.py连接到marathon API以检索所有正在运行的应用程序,生成

    dns:通过Marathon在Route53 DNS中为Mesos注册服务

    Misakai.Dns是一个服务发现项目,它利用AWS Route53 DNS服务和Mesos Marathon自动将与Marathon一起部署的应用程序注册到Route53 DNS。 这个构建创建了一个微小的Docker映像,您可以将其简单地部署到您的基础架构中,...

    mesos-vulcanproxy:为通过 Mesos Marathon 创建的所有 Docker 容器自动创建更新 Vulcanproxy 规则的工具

    该项目的目标是为通过 Mesos Marathon 创建的所有 Docker 容器自动创建/更新 Vulcanproxy 规则。 我看到很多关于如何部署容器或虚拟机的教程,但我总是惊讶地发现它们很少涉及基础架构的负载平衡部分。 在我看来,...

    athlete:Mesos上的Marathon部署工具

    运动员Athlete是类似于...特征用于定义Docker构建和部署的简单DSL 检测部署失败简单(〜750 LoC) 允许在部署之外设置或强制设置Marathon属性安装将这些行添加到应用程序的Gemfile中的:development组中: group :develo

    m-shop:Marathon在Web应用程序中的Docker部署,包括使用ELK堆栈进行分析

    移动商店一个基于马拉松的演示应用程序,用于电子商务网站。设置流浪汉/普拉亚准备(Mesos-DNS) 部署方式相互作用演示版来自主持人: http PUT http://10.141.141.10:8080/v2/groups < mesos-dns/system.json...

    马拉松:在Apache Mesos之上大规模部署和管理容器(包括Docker)

    Marathon提供了一个用于启动,停止和扩展应用程序。 Marathon用Scala编写,可以通过运行多个副本以高可用性模式运行。 运行任务的状态存储在Mesos状态抽象中。 Marathon也用作元框架:您可以使用它启动其他Mesos...

    mesos-marathon-demo:Mesosmarathon + 码头工人

    为了能够使用 docker 执行示例,目录docker-image包含构建和创建 docker 实例所需的步骤。 运行图像 为了在马拉松中部署一个新的应用程序,只需要制作一个 Http POST curl -XPOST -H " Content-Type:application/...

    marathon-bigip-ctlr:用于Marathon的F5 BIG-IP控制器的存储库

    用于Marathon的F5 BIG-IP控制器使F5 BIG-IP 服务可用于环境中定义的应用程序。 文献资料 有关如何使用此组件的说明,请参阅F5 BIG-IP Marathon控制器。 有关此和其他,请参阅。 获得帮助 我们鼓励您使用的cc-...

    容器编排系统Kubernetes-Mesos.zip

    Kubernetes 是一套开源容器编排系统,负责管理各类利用Docker容器构建而成且跨越多台主机的应用程序。尽管最初该项目由谷歌公司所建立,不过其目前已经转由云原生计算基金会负责推动。Mesosphere 自其诞生以来一直...

    word源码java-fabric:apachemesos/marathon的实时流处理框架

    Marathon 提供的久经考验的集群功能,实现高度可扩展和有保证的可用性 框架级别保证不会丢失消息、支持重放、多源和复杂的元组树。 核心级别支持事件批处理。 源级事件分区用作可伸缩性单元。 使用 docker 提供的...

    ansible-mesos:Ansible配置以设置Mesos服务器

    ./init-cluster.sh脚本会将task-data/marathon所有文件添加到主服务器上的Marathon,并将task-data/chronos所有文件添加到Chronos。 您可以将这些目录中的现有文件用作自己的Marathon和chronos服务的模

    cm_mesos_ext

    应用程序通过Docker进行了容器化。 我们还提供了用于EL6和Ubuntu 14.04(可信任)的即用型包裹,请参阅。 脚步 构建包含Apache Mesos,Marathon和Mesos-DNS的Cloudera地块 构建包含Docker的Cloudera包裹 #change...

Global site tag (gtag.js) - Google Analytics