通过容器服务一分钟创建WordPress博客
目标
- 熟悉Docker的基本知识和容器服务的基本功能
- 在容器服务中成功通过一个编排模板创建WordPress博客
准备工作
- 产品基本介绍(https://help.aliyun.com/document_detail/containerservice/product-introduce/product-intro.html)
-
注意事项:
- 容器服务目前在公测期间,需要提前申请公测资格
- 容器服务创建的按量计费服务器,需要保证现金账户余额不得少于100元
步骤
- 进入容器服务控制台
- 创建第一个集群
- 搜索并查看WordPress镜像
- 选择模板创建应用
以下是具体的操作步骤
1.进入容器服务控制台
1.1 进入容器服务产品介绍页面
在阿里云首页www.aliyun.com的导航"产品"下浮列表中,选择"弹性计算"分类下的"容器服务(公测中)",如下图:
点击后进入产品介绍页面:
1.2 申请公测
点击"获取使用资格"(首次进入需要申请公测资格)或者直接进入"管理控制台"
1.3 查看指南
进入容器服务的控制台。点击左侧的"指南",进入介绍页面,了解容器服务的基本概念.
如有有更详细的了解,可以查看页面最下方的文档及帮助
2. 创建第一个集群
2.1 进入创建集群页面
点击上图中的"创建集群"链接
2.2 设置集群配置
填写集群名称:yunqi-test2
选择地域(杭州)和可用区(杭州可用区D)
选择操作系统:Ubuntu 14.04 64 位
选择网络类型:经典网络
容器服务为每个集群会默认创建一个按量计费的公网SLB,用于外部访问。
容器服务创建的云服务器和负载均衡目前均为按量计费。
2.3 设置实例配置
选择实例规格:2核4GB(ecs.s2.large)
选择实例数量:1
选择数据盘容量:20G (会被挂载到/var/lib/docker目录,用于Docker镜像和容器的存储。)
设置云服务器密码
2.4 创建集群并查看日志
点击"创建集群"按钮,自动跳转到集群列表页面,集群的状态显示"初始化中"。
点击"查看日志",查看创建集群的过程日志
等待集群状态变化为"运行中"
ps:如果集群创建失败,有可能是当前选择的地域和可用区没有库存,请换可用区或云服务器规格尝试。
2.5 查看节点信息
点击集群名称,展开节点列表信息
点击ip地址(120.55.183.83)的链接,进入节点页面
这个页面描述了当前节点下的容器列表,其中带"system"标签的容器代表是容器服务的系统容器,用来管理每台云服务器:
acs-agent:用于管理docker daemon
tunnel-agent:用于管理容器服务和云服务器的通信
acsrouting_routing:用于管理路由转发
点击左侧的节点监控,查看监控信息
3. 搜索并查看WordPress镜像
3.1 浏览镜像列表
点击左侧菜单"镜像和模板"里的"镜像",如下图
常用镜像:是容器服务挑选的一些最常用的镜像列表
Docker官方镜像:是容器服务从Docker Hub同步过来的Docker官方镜像列表
阿里云镜像:是阿里云提供的容器Hub的镜像列表,按照下载量排序
3.2 搜索一个镜像
在右上角的搜索框,搜索wordpress
3.3 查看镜像详情
点击acs-sample/wordpress镜像的"详情"链接,跳转到阿里云容器hub的镜像详情页面
右侧的"版本信息"展示了该镜像的tag列表
这里介绍下镜像的几个概念:
3.4 查看镜像对应的dockerfile
点击tag:yunqi旁的dockerfile链接,进入github页面:
后续的实例编排模板会使用这个镜像。这里介绍下dockerfile的几个相关语法:
FROM wordpress
#基础镜像
RUN echo Asia/Shanghai > /etc/timezone && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY entry.sh /entry.sh
RUN chmod a+x /entry.sh
COPY aliyun-oss-support-2.3.2/ /var/www/html/wp-content/plugins/aliyun-oss-support-2.3.2/
#复制外部文件到镜像里面。这里是复制oss的plugin。
ENTRYPOINT ["/entry.sh"]
#入口脚本
CMD ["apache2-foreground"]
#启动参数
4 选择模板创建应用
4.1 选择示例编排模板
点击控制台左侧导航的"镜像与模板"的"编排模板"
"示例编排"下有容器服务推荐的一些编排模板
"我的编排"管理了用户自己创建的编排模板
选择示例模板yunqi_wordpress(后续会选择这个模板创建,也可以按照自己的需求修改),点击"详情"查看
4.2 编排模板语法讲解
编排模板是遵循docker compose的yml格式.
上面的模板描述了3个服务,分别是wordpress、mysql和logtail。 (后续会将logtail作为系统容器提供,敬请期待。)
这里对compose的语法简单讲解:
wordpress:
image: registry.aliyuncs.com/acs-sample/wordpress:yunqi
#代表这个服务的镜像
ports:
- 80
#代表容器会暴露80端口
volumes:
- /acs/log/wordpress/:/var/log/
#这里将容器内的目录/var/log/,映射到宿主机的/acs/log/wordpress/目录。(可供日志服务去采集)
labels:
#docker的标准能力 容器服务也提供了一些增值的能力(以aliyun开头的标签)
aliyun.routing.port_80: wordpress
#代表提供了路由能力,前端的域名是wordpress.<cluster_id>.<region_id>.alicontainer.com,并绑定到容器的端口8080
aliyun.probe.url: 'http://container/license.txt'
#代表了该镜像起来后的健康型检查URL是容器的内部地址:http://localhost/license.txt
aliyun.probe.initial_delay_seconds: '5'
#代表了在容器启动后延迟几秒开始健康检查
aliyun.scale: '1'
#代表了该镜像需要启动1个容器
aliyun.depends: logtail
#代表这个容器会等logtail启动之后再启动
aliyun.latest_image: true
#代表会拉取最新的镜像(对于tag不变而内容变化的镜像)
restart: always
#代表容器挂了会自动重启
links:
- mysql
#代表wordpress这个服务会连接到mysql,可以通过环境变量mysql.MYSQL_ROOT_PASSWORD获取密码
mysql:
image: mysql
ports:
- 80
labels:
aliyun.scale: "1"
environment:
- MYSQL_ROOT_PASSWORD=password
更详细的解释请参见:https://help.aliyun.com/document_detail/containerservice/compose/summary.html
4.3 创建应用
点击右上角"创建应用"按钮
默认应用名为:yunqi_wordpress-application-default(可修改)
设置应用版本:1.0 (可自定义)
选择部署集群:yuqi-test2
点击"创建并部署应用",自动跳转到"应用列表"页面:
当前应用正在创建中,可查看应用的事件直至应用状态至"就绪"
ps:容器服务的应用对应一个compose编排模板,可包含一个或多个服务。(在yunqi-wordpress示例模板中,我们创建的这个应用包含了三个服务,每个服务对应一个镜像)
4.4 查看应用状态
在应用列表里点击"yunqi_wordpress-application-default"的链接,进入该应用的详情页。
点击服务列表,选择服务"wordpress",进入服务的详情页:
4.5 查看WordPress应用
点击上图的访问端点的地址,即可访问wordpress的页面:
选择语言:简体中文,点击继续
设置用户名、密码和邮箱,点击"安装WordPress",后续再登录即安装成功!