之前的软件部暑的docker镜像一直用ubuntu14.04来制做的,综合考虑,决定将系统切换到debian8.7(stable)下。node
由于咱们的系统使用了canvas插件,这个插件依赖库比较多,安装较为麻烦,还好ubuntu与debian是一个系列的,有ubuntu下的经验,处理起来仍是有信心的。linux
因docker是基于ubuntu开发的,所以宿主机仍是选择了ubuntu16.04长效版。安装最新版docker命令:docker
curl -s https://get.docker.com | sudo sh
下载debian官方镜像及启动一个容器:npm
docker pull debian:8 docker run -it --name base debian:8 /bin/bash
这样就进入了一个debian系统中,在此上进行运行环境的安装,最后将生成为咱们的镜像,就能够重复使用了。canvas
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.list apt-get update apt-get install vim vim /etc/apt/sources.list
切换到以下更新源:ubuntu
deb http://mirrors.163.com/debian/ jessie main non-free contrib deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib deb-src http://mirrors.163.com/debian/ jessie main non-free contrib deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib
这时运行apt-get update,若出现错误:vim
W: GPG error: http://ftp.cn.debian.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
使用下面的命令把公钥导入(替换相应的PUBKEY):bash
gpg --keyserver pgpkeys.mit.edu --recv-key 5C808C2B65558117 gpg -a --export 5C808C2B65558117 | apt-key add - 从新更新源: apt-get update apt-get upgrade -y
ubuntu下的libjpeg8-dev替换成libjpeg-dev便可成功安装相应的依赖库。网络
sudo apt-get install libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++ -y
上官网,获取node.js的安装包下载连接,用如下命令进行下载及安装。curl
apt-get install curl xz-utils -y curl -O https://nodejs.org/dist/v6.10.0/node-v6.10.0-linux-x64.tar.xz xz -d node-v6.10.0-linux-x64.tar.xz tar -xvf node-v6.10.0-linux-x64.tar mv node-v6.10.0-linux-x64 node ln -s /home/tlwl/softs/node/bin/node /usr/bin ln -s /home/tlwl/softs/node/bin/npm /usr/bin npm i -g pm2 ln -s /home/tlwl/softs/node/bin/pm2 /usr/bin
date -R //显示时区信息 tzselect //生成选定时区配置文件 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //新时区设置生效 ntpdate s1a.time.edu.cn //网络对时(需安装)
基础环境已经安装完成,退出容器,生成镜像即大功告成。
docker commit 7c988bb6e1ca node:6.10
使用docker iamges命令就能够看到咱们生成的镜像了。
宿主操做系统选择ubuntu,容器操做系统使用debian,这样的选型让总体更稳定。