我的情况:我偶尔会在win8笔记本电脑上玩游戏,但我可能需要一天才能完成Linux的双系统安装。我所有的业务只需要在Docker中运行。而且我的笔记本内存够大,16g(感谢HUSTJiang老师)。准备CoreOS镜像下载地址EasyBCD下载地址开始安装EasyBCD添加ISO启动项文件直接使用CoreOSlivecd镜像详细步骤附截图:http://jingyan.baidu.com/article/466506586ed309f549e5f81c.html启动CoreOS完成CoreOS安装更新即可更新用于引导的ISO文件。缺点不能持久化(带来的好处,游戏坏了直接重启就好)整个操作系统在硬盘中产生的文件直接占用硬盘空间(带来的好处,硬盘的速度大大提高)每次开机手动挂掉卸载硬盘空间,手动运行整个系统的初始化脚本。综合优缺点,建议可以用于某些业务的配置。如果业务较多,可能需要优化的点较多。配置在硬盘上创建一个100g的空间,格式化,参考命令:mkfs.ext4/dev/sda2,挂载。如果您不了解如何格式化和挂载分区,请查看此处。这篇文章可以说是我看到的一篇关于主磁盘管理***的文章。挂载后,将文件夹/var/lib/docker/复制到挂载的位置,然后软连接回去。(然后dockerimages可以持久化放在硬盘,重启后不会丢失)。参考操作如下:cp-rf/var/lib/docker/mnt/rm-rf/var/lib/dockerln-s/mnt/docker/var/lib/docker我的初始化文件参考mkdir/root/.sshecho"ssh-rsaxxx..(略)....xxLi-jianying@lijianyings-MacBook-Pro.local">/root/.ssh/authorized_keysrm-rf/var/lib/dockerln-s/mnt/docker/var/lib/docker#echo'DOCKER_OPTS="--registry-mirror=http://XXXXX.m.daocloud.io"'>>/run/flannel_docker_opts.env#systemctldaemon-reloadsystemctlrestartdocker#usingdiskImportrsakey首先,然后软链接到docker位置。添加daocloud加速(虽然官方没有写怎么加速CoreOS,但是有大神给了方法),因为我不是加速比加速快,所以这里先注释掉。作为备选。如果systemd遇到的坑在docker中返回错误-1,容器就会挂掉。Butscopestillexistsinsystemd.当启动问题容器会提示Errorresponsefromdaemon:Cannotstartcontainertest:[8]Systemerror:Unitdocker-e10eb86807cd9971fc03a8eee732771193d506ed2ba678fdf4292916a9fb072c.scopealreadyexists.那么systemctlstopdocker-e10eb86807cd9971fc03a8eee732771193d506ed2ba678fdf4292916a9fb072c.scope就可以搞定。CoreOS.iso遇到的坑2就是不断确认KnowHosts。参考https://github.com/lijianying10/FixLinux/blob/master/note/cancelsshPublicKeyKnowHostauthentication.md得出结论,这种方式在PC上部署Linux非常方便。熟悉一套Docker的想法可能根据自己的情况20分钟搞定。找到这个想法后,我经历了各种权衡。为了快速解决开机问题,使用EasyBCD直接引导内存ISO启动,改掉折腾UEFIGrub的问题。为了减少配置环境带来的时间成本,硬盘上安装的版本换成了CoreOS。为避免系统或版本升级误操作导致不稳定,改用Docker。以后可能会换RKT和RunC(希望大家快点填坑,RunC说这个月的Release不知道会不会跳票)。注意这个方案是不惜一切代价用最简洁的环境配置来换取开发时间。喜欢折腾共产主义的朋友可能要绕道了。
