容器在程序员中早已不是陌生的概念,刚接触的时候大家肯定都认为是一个极速精简版的虚拟机。但是使用时间一段时间后发现不然:缺少熟悉的命令,systemd 不能用,连 apt/yum 安装软件都不能持久化,最后老鸟们会冷冷的说容器是面向应用的!😖
现在HCaaS中的容器虚拟机解决了这个恼人的问题。我们可以创建任意规格的虚机(最小 0.1vCPU,40Mb 内存),秒级创建,根据容器虚机实际使用 CPU/MEM 收费(不是规格),非常适合学习 /测试。容器虚机通过 commit 可写容器镜像层实现数据持久化,lxcfs 对规格进行限制,并对容器镜像进行特殊改造支持 systemctl/iptables/docker,用户使用习惯跟虚拟机完全相同。
这次让我们通过搭建 LNMP 来玩一把。一般搭建网站有几个必须的组件,可以用 LNMP 组合包来快速搭建。LNMP 一键安装包是一个用 Linux Shell 编写的,可以为 CentOS/RHEL/Fedora/Linux VPS 或独立主机安装 LNMP(Nginx/MySQL/PHP)、生产环境的 Shell 程序。
从菜单“容器虚拟机”创建一台容器虚拟机:
虚拟机 OS:选择虚拟机操作系统,HCaaS 提供 Ubuntu 18.04 64 位和 Centos 7.4 64 位两种操作系统。这里使用 Centos7.4
开放端口:22 端口默认开放,为了 nginx 和 mysql 需要开放 80,3306 端口。
虚拟机规格:安装 LNMP 过程中有一些编译的步骤,推荐 1vCPU 或更高。此处快选了 32X 的规格。
保存后就跳转到容器虚拟机列表页面。秒级启动!
点击 SSH 登录方式按钮,弹框显示登录的具体信息,在终端输入弹框信息即可登陆该虚拟机。
为了安全,用 chpasswd 修改登录密码!!
也可以使用页面上的 webshell 登陆
参考官网https://lnmp.org/install.html,运行以下命令:
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
静候几分钟小时,LNMP 就安装好了!
还记得之前 ssh 的地址吗?对,这就代表服务端地址,只需要访问它的“80”端口。在 HCaaS 里,端口都做了映射,所以在容器虚拟机列表中,点开查看端口
找到了对应的 31905 端口。在浏览器中打开http://idc.cubepaas.com:31509就找到了 LNMP 的默认首页!
HCaaS (https://cubepaas.com)目前处于公测阶段,登录领 300 元平台金,外连网络流量免费!!
首次充值:充多少送多少!!
1
geekvcn 2020-09-05 12:36:17 +08:00 via iPhone
|
2
better0332 OP @geekvcn 以前那篇没图片,我也没法删除。docker 也有不同的用法,未必是一成不变的。敏感的数据当然不推荐放在容器里,通过技术组合,持久化也是可以做到的,大家可以一起来玩玩探讨也未尝不可,本文也是我花大量时间写出来的,也不用这么着急叫版主仍做广告吧
|
3
lhx2008 2020-09-05 13:13:18 +08:00
自己搞的 CRI 吗,有啥场景呢。。
|
4
better0332 OP 没涉及 CRI,主要是保持原地调度,用 docker commit 持久化,后面我们会合并 commit 的镜像层来保持性能。场景可以当作及其便宜的个人 ECS,用来测试 /安装奇怪的东东 /爬虫...
|
5
lhx2008 2020-09-05 13:29:33 +08:00
@better0332 #4 好吧。。玩的开心就好
|
6
shynome 2020-09-05 16:31:53 +08:00
- 为啥 github 登录要这么多权限啊
- 为啥不能通过 docker 镜像部署啊, 都用容器做卖点了, 居然不支持容器镜像部署, 差评 |
7
better0332 OP |
8
better0332 OP ![]( )
|
9
better0332 OP @shynome 不好意思,图片没出来
|
10
cszchen 2020-09-05 19:27:13 +08:00 via Android
谁说容器更改不能持久化,docker commit 了解一下
|
11
CraigMC 2020-09-05 20:42:06 +08:00 via Android
很好用,简直神器。
|
12
shynome 2020-09-07 11:38:47 +08:00 via Android
@better0332
docker 原来是在新业务里面部署的啊,我记得有个部署容器的目录,我还以为是在那里面的 github 登录提倡最小权限原则,后面需要新的权限话再用一个新的页面索取授权,目前看登录要的权限特别大,明明只要一个身份识别就行了却把账户访问和私有仓库的权限也要了,相比微信要的权限只要身份就可以登录了,让我感觉是蜜罐,虽然你保证自己不会用这个不必要权限做坏事,但是谁能保证以后呢 没有收到 v 站的通知 |
13
better0332 OP @shynome 它会自动创建或更新.cubepaas-devops.yml (对应图形界面中的配置)到 git 仓库,所以需要 master 权限
|