之前软件部的docker镜像已经用ubuntu14.04做了。综合考虑后,决定将系统切换到debian8.7(stable)。难点在于我们的系统使用了canvas插件。这个插件依赖的库很多,安装比较麻烦。幸运的是,Ubuntu和Debian是一个系列。有了Ubuntu的经验,我有信心搞定它。Docker宿主机环境安装因为docker是基于ubuntu开发的,宿主机还是选择ubuntu16.04长期版。安装最新版本的docker命令:curl-shttps://get.docker.com|sudosh下载debian官方镜像,启动一个容器:dockerpulldebian:8dockerrun-it--namebasedebian:8/bin/bash像这样进入一个debian系统,在上面安装运行环境,最后生成我们的镜像,可以重复使用。安装运行环境的第一步是安装基本编辑器并切换到合适的更新源。echo"debhttp://mirrors.163.com/debian/jessiemainnon-freecontrib">>/etc/apt/sources.listapt-getupdateapt-getinstallvimvim/etc/apt/sources.list开关到以下更新源:debhttp://mirrors.163.com/debian/jessiemainnon-freecontribdebhttp://mirrors.163.com/debian/jessie-updatesmainnon-freecontribdebhttp://mirrors.163.com/debian/jessie-backportsmain非自由contribdeb-srchttp://mirrors.163.com/debian/jessiemain非自由contribdeb-srchttp://mirrors.163.com/debian/jessie-updatesmain非自由contribdeb-srchttp://mirrors.163.com/debian/jessie-backports主要非自由contribdebhttp://mirrors.163.com/debian-security/jessie/updates主要非自由contribdeb-srchttp://mirrors.163.com/debian-security/jessie/updatesmainnon-freecontrib此时运行apt-getupdate,如果出现错误:W:GPGerror:http://ftp.cn.debian.orgjessieInRelease:无法验证以下签名,因为公钥不可用:NO_PUBKEY5C808C2B65558117使用以下命令导入公钥(替换对应的PUBKEY):gpg--keyserverpgpkeys.mit.edu--recv-key5C808C2B65558117gpg-a--export5C808C2B65558117|apt-keyadd-re-updatesource:apt-getupdateapt-getupgrade-y第二步在ubuntu下安装canvas插件依赖库libjpeg8-dev,替换为libjpeg-dev即可成功安装对应依赖库sudoapt-getinstalllibcairo2-devlibjpeg-devlibpango1.0-devlibgif-devbuild-essentialg++-y第三步安装node.js,进入pm2官网,获取node.js安装包下载链接,使用以下命令下载安装。apt-getinstallcurlxz-utils-ycurl-Ohttps://nodejs.org/dist/v6.10.0/node-v6.10.0-linux-x64.tar.xzxz-dnode-v6.10.0-linux-x64.tar.xztar-xvfnode-v6.10.0-linux-x64.tarmvnode-v6.10.0-linux-x64nodeln-s/home/tlwl/softs/node/bin/node/usr/binln-s/home/tlwl/softs/node/bin/npm/usr/binnpmi-gpm2ln-s/home/tlwl/softs/node/bin/pm2/usr/bin第四步,设置正确的时区date-R//显示时间zoneInformationtzselect//生成选择的时区配置文件cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime//新的时区设置生效ntpdates1a.time.edu.cn//网络时间同步(需要安装)第五步第一步已经安装好生成镜像的基础环境,退出容器,生成镜像,就大功告成了。dockercommit7c988bb6e1canode:6.10使用dockeriamges命令可以看到我们生成的镜像。总结宿主机操作系统选择ubuntu,容器操作系统使用debian。这种选择使整体更加稳定。
