很早就开始用阿里云的服务器了,当初阿里云的产品也还不全面,随着阿里云产品的成熟,也是时候把公司的服务器做一次整改。期间学习了很多前辈的经验,当然也有查不到资料,自己摸索的过的坑,希望记录下来分享给遇到同样坑的同学。
操作步骤
- 首先在VPC下买些服务器,这个留到VPC的章节里说,因为我也是第一次用阿里的VPC,所以先买了一台,转移部分的应用。
- 进入容器服务的后台,并创建集群
- 创建集群时,因为选择专有网络,并加入我已经建好的vpc交换机;因为公司长期用,我先买好了包年服务器,所以此处选择添加已有节点,并加入已购服务器。
- 以下是创建好的集群,一个东西从0到1的过程确实让人看着比较激动
- 有了集群,我就可以来创建应用了,但是我喜欢用数据卷来放代码和配置文件,所以我还要先建数据卷
- 我觉得代码放在一起的感觉比较好,也比较有利于一处修改处处使用。数据卷支持oss和nas,但我看了下oss的描述说尽量不要用在经常写的场景,但nas没说,所以我最终选择了nas。
- 建好了之后,文件怎么放进去呢,不要急,等后面应用启动之后,会自动挂载到ECS的/mnt/acs_mnt/nas/文件夹下,你就可以像用本机文件夹一样放入你想到的文件。
- 好了,可以建应用了
- 第一页自己想填啥填啥,我这里填入我们的应用名称,说明我也懒得写了,以后再补充吧
- 因为我之前一直在用docker compose,所以我就直接用模板来创建了,说明内容正式用时可能要去掉
sn: image: tomcat:8-jre7-alpine volumes: - /etc/localtime:/etc/localtime:ro #这里是个坑,原生的docker基本都用的0时区,所以我使用主机的时区设置,变成发+8时区。 - src.sn.webapps:/usr/local/tomcat/webapps #src.sn.webapps就是刚刚建的数据卷 - /mnt/acs_mnt/nas/src/sn/conf/server.xml:/usr/local/tomcat/conf/server.xml:ro #无奈之举,直接把挂载的全目录用上了,据说有风险,万一docker启动得比挂载快就挂了 - /mnt/acs_mnt/nas/src/sn/conf/context.xml:/usr/local/tomcat/conf/context.xml:ro labels: aliyun.routing.port_8080: http://sn-test.ifengpai.com #这个是比较方便的做法,域名是配置在自己的配置下,不像nginx,添加一个域名都要重启下nginx aliyun.log_store_dbstdout: stdout #阿里云的插件,可以放日志到阿里云日志服务中 restart: always # 我对容器团队的意见都写在下面:容器的同学也真的是不够专业啊,干嘛只能挂文件夹,我也想挂文件啊,难道你要我把tomcat的conf文件夹下的文件都copy出来?就不能src.sn.webapps/server.xml?
# 用挂载全路径可以的,但你们也知道风险,所以能不能搞个依赖或者initial_delay_seconds之类的配置,让容器慢几秒启动?
# 另外健康检查(probe)没做,因为做几次没成功,一直不能访问,去掉了,先求有,再求好吧,后面章节再完善
- 看下服务里,运行得挺好;如果你想直观一点了解此容器的配置,可以点变更配置进去,有UI
到此,服务完成了,访问下我的域名http://sn-test.ifengpai.com成功!