欢迎试用Linker Networks(www.linkernetworks.com)的领科云,一个基于Mesos Docker的混合云平台。
http://marketplace.linkernetworks.com/
在本章节,我们在设计模型的时候,并不考虑任何的应用关系,从一个原子的应用开始。
我们就设计一个最基本的mysql模型。
为了简单期间,我们暂且不考虑从dockerfile编译成Docker镜像的过程,而是从一个已经存在的镜像开始。
第一步:在Docker Hub上查找一个Docker Image
让我们来到Docker Hub找一个已经有的Docker镜像。
在https://hub.docker.com/ 上搜索mysql
能搜索出很多的结果
在这些众多的结果中,选择官方版
点击DETAILS查看详情
仔细阅读详情,可以查看从这个Docker镜像启动一个Docker的方法。
其中重点为
MYSQL_ROOT_PASSWORD
This variable is mandatory and specifies the password that will be set for the MySQL root superuser account. In the above example, it was set to my-secret-pw.
MYSQL_DATABASE
This variable is optional and allows you to specify the name of a database to be created on image startup. If a user/password was supplied (see below) then that user will be granted superuser access (corresponding to GRANT ALL) to this database.
The -v /my/own/datadir:/var/lib/mysql part of the command mounts the /my/own/datadir directory from the underlying host system as /var/lib/mysql inside the container, where MySQL by default will write its data files.
第二步:创建一个应用模型
注册并登录www.linkermarket.com
点击工作区
点击模型设计器中的应用模型
点击加号,创建一个新的应用模型。
填写基本信息
应用名称添加mysql1
内存设定1024
Docker镜像选择Docker Hub镜像,填写mysql
接下来,填写Docker参数
Docker参数就是环境变量
点击加号添加环境变量。
将上面再Docker Hub官方网站看到的要求填写的环境变量添加进去。
最前面打勾,表示这些变量允许运行的时候修改,因为无论是密码,还是数据库,都不应该定死,而是每个用户创建数据库Docker的时候设置。
接下来,填写磁盘参数
点击磁盘后面的加号,添加一个外置的volume,从而使得Docker有问题的时候,数据不丢失,并且可以重启Docker的时候数据还在。
按照Docker Hub官方网站的要求填写磁盘
选择暴露端口,从而可以通过外网ip的端口映射的方式访问这个服务。
点击保存应用
第三部:创建服务模型
点击服务模型
点击右面的加号,创建服务模型。
给服务模型取个名字mysql1
保存服务模型。
找到以你的别名开头,以服务模型为后缀的服务模型。
点击打开这个服务模型开始编辑
右键点击图标,弹出右键“添加依赖应用组”
点击后,给依赖的应用组取个名字
按回车,出现一个虚线框
在服务详细信息的右面,点击可用的应用模型
在可见的应用模型里面,找到刚才设计的mysql1
将这个模型拖入到虚线框中
第四步:提交服务等待审核
点击右下角的提交服务等待审核
点击提交
弹出对话框
填写一个描述点击发布。
发布后,这个服务模型的图标会变成
这个时候等待系统管理员进行审核,审核通过后模型图标变为
第四步:在市场中订购这个模型
这个时候,您设计的模型已经出现在市场中了,在市场中找到您设计的模型,点击订购
点击马上订购
填写运行时的参数,并点击订购
查看已订购服务
这个时候页面调到已订购服务页面,点击打开已订购服务
这个时候可以看到运行中的mysql,如果框都是绿色的,说明订购成功
鼠标点击mysql1,会弹出详细信息
访问数据库需要通过外网IP和地址进行
找一个有数据库客户端的命令行
看数据库能够连上,helloworld数据库也被创建出来了。