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
相关推荐
在高可用性模式下运行 Apache Storm 0.9.3... Docker 允许我们在 Apache Mesos 上部署任何版本的应用程序(在我们的例子中是 Storm),同时隔离进程。 类似的方法可用于以高可用性模式在 Apache Mesos 上部署任何其他分
在Marathon界面中显示应用程序 显示Jenkins在Mesos奴隶上的日志 $docker ps $docker logs -f $( docker ps -lq ) 通过URL转到Jenkins 在Jenkins上配置Mesos集群 Mesos本机库路径= / usr / lib / libmesos.so M
Apache Mesos是一个开源的集群管理软件,用于高效地管理计算资源,在集群中的多个计算机上运行分布式应用程序。Mesos采用Master/Slave架构,Master负责资源调度和管理Framework,Slave负责执行计算任务。Apache ...
- **Marathon**:作为应用程序的调度器,负责应用程序的部署和管理。 - **Spark Controller (Docker)**:通过Docker容器部署Spark框架,实现大数据处理任务的自动化管理和执行。 ##### 4. 智能硬件的Docker化 - **...
使用Marathon和Docker Flocker卷驱动程序将受限于旋转磁盘上MySQL / PHPMyAdmin迁移到固态磁盘的演示。 先决条件: 1.启动您的无所事事的环境 $ vagrant up 然后导航到您将看到一个空的Marathon界面,其中未部署...
通过容器化应用程序及其运行环境,Docker 极大地提高了软件的可移植性和效率。随着容器技术的发展,容器编排工具的重要性也日益凸显。容器编排是一种自动化管理容器生命周期的技术,包括部署、扩展、网络连接和负载...
[marmelatze / docker-controller)[ ]将容器元数据导出到可配置的后端(当前仅支持Consul) [marmelatze / marathon-sclaer] [ ]收集容器数据的监视数据(通过prometheus),并在需要时扩展马拉松应用程序。...
这个“marathon-0.8.2.tgz”文件是一个压缩包,包含了 Marathon 的 0.8.2 版本,该版本发布于2014年左右。本文将详细讲解 Marathon 的核心功能、架构、配置以及如何部署和管理服务。 Marathon 的主要功能: 1. **高...
资源分配是指将计算资源分配到不同的任务和应用程序上。通过使用Mesos,可以提供一个高效的资源分配系统。 知识点12:Scalability and High Availability 可扩展性和高可用性是指数据处理平台可以扩展到多个计算机...
Docker作为构建应用DNA的核心工具,提供了轻量级的虚拟化环境,使得应用程序可以在任何地方运行,不受硬件或操作系统的限制。Docker容器相比虚拟机(VM)更高效,因为它们共享主机操作系统,减少了资源消耗。Docker...
Depcon(容器部署) 用于针对Mesos / Marathon,Kubernetes和Amazon ECS的Docker容器的高级部署工具有关最新文档和用法的完整信息,请参见:概述Depcon使管理运行Docker容器的集群变得轻而易举。 它提供了定义环境的...
假设我们有一个基于Mesos的集群,其中包含多个Docker容器和若干个应用程序框架(如Marathon和Chronos)。为了确保系统的稳定运行,我们可以采取以下监控策略: - **硬件监控**:通过Zabbix监控每个节点的CPU、内存...
阿波罗 Apollo是一个开源项目,旨在帮助构建和部署IAAS和PAAS服务。... Docker容器管理和编排(Marathon框架,Kubernetes) Hadoop /大数据平台(Storm框架和其他) 有关可用的Mesos框架,请参见 。 如
马拉松磅 Marathon-lb是通过使用应用程序状态来管理HAProxy的工具。 HAProxy是一种快速,高效,经过考验的高可用性负载...建筑学marathon-lb脚本marathon_lb.py连接到marathon API以检索所有正在运行的应用程序,生成
6. **持久化数据**:如果应用程序需要持久化数据,Marathon 可以配合 Docker 容器的卷挂载或使用 Mesos 直接存储来实现。C# 开发者需了解如何在 Dockerfile 中配置数据卷,并在应用定义中指定。 7. **事件订阅**:...
Misakai.Dns是一个服务发现项目,它利用AWS Route53 DNS服务和Mesos Marathon自动将与Marathon一起部署的应用程序注册到Route53 DNS。 这个构建创建了一个微小的Docker映像,您可以将其简单地部署到您的基础架构中,...
该项目的目标是为通过 Mesos Marathon 创建的所有 Docker 容器自动创建/更新 Vulcanproxy 规则。 我看到很多关于如何部署容器或虚拟机的教程,但我总是惊讶地发现它们很少涉及基础架构的负载平衡部分。 在我看来,...
运动员Athlete是类似于...特征用于定义Docker构建和部署的简单DSL 检测部署失败简单(〜750 LoC) 允许在部署之外设置或强制设置Marathon属性安装将这些行添加到应用程序的Gemfile中的:development组中: group :develo