1. 需求
有个老项目需要使用sencha touch,使用的是sencha cmd4.0版本。 随着mac系统的升级,java已经装成了8.0,导致cmd老版本无法正常执行。但是我也不能降级自己的系统。
2. 解决方法
于是想到了Docker。
第三方资源
果然已经有人制作好了镜像只需要获取就行。
docker
其实docker非常简单,我也是头一次使用。
我的理解就是轻量的带安装配置的虚拟机,因为分层设计,可以大量地创建容器。 镜像就是模版,容器就是实例。
虽然镜像相同,因为传参不同,容器也是不同的。
当然还有更高级的docker玩法,比如管理和监控等。总之,我不是运维,用不上,也没机会试,我也不学。
很多技术就像眼镜,当你需要的时候就知道怎么用了。
3. 操作
- 安装docker,官网下载dmg,傻瓜式
- 命令行获取镜像 参考github.com/rockmagic/s… 里的命令
docker run --rm -v `pwd`:/app -w /app rockmagicnet/sencha-cmd:latest
app build
第一次安装的 执行命令
docker run --name xx_build -v /Users/xxxName/code/xxProject:/app -w /app rockmagicnet/sencha-cmd:4.0.5 app build package
# --name 起个名字
# -v 挂数据
# app build package sencha的命令
docker 在第一次执行的时候会下载镜像,同时创建容器 这个容器后续可以重复使用,不需要那么复杂的配置
平时使用
docker start xx_build -i
# xx_build 是开始起得名字
在docker中查看已有容器,我只使用了打包和刷新,所以只有两个容器
4. 备份
考虑到sench可能会抽风地移除zip包的下载地址,所以直接把整个镜像备份,存到硬盘中,这样就不怕无法打包了。
参考文档
docker export 容器 docker save 镜像
我把镜像save了,后续容器再自己生成