基于Debian系统安装node运行环境(docker、canvas)

以前的软件部暑的docker镜像一直用ubuntu14.04来制作的,综合考虑,决定将系统切换到debian8.7(stable)下。

难点

因为我们的系统使用了canvas插件,这个插件依赖库比较多,安装较为麻烦,还好ubuntu与debian是一个系列的,有ubuntu下的经验,处理起来还是有信心的。

docker宿主环境安装

因docker是基于ubuntu开发的,因此宿主机还是选择了ubuntu16.04长效版。安装最新版docker命令:

curl -s https://get.docker.com | sudo sh

下载debian官方镜像及启动一个容器:

docker pull debian:8
docker run -it --name base debian:8 /bin/bash

这样就进入了一个debian系统中,在此上进行运行环境的安装,最后将生成为我们的镜像,就可以重复使用了。

运行环境的安装

第一步,基本编辑器的安装,切换合适的更新源。

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

切换到如下更新源:

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,若出现错误:

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):

gpg --keyserver pgpkeys.mit.edu --recv-key 5C808C2B65558117
gpg -a --export  5C808C2B65558117 | apt-key add -
重新更新源:
apt-get update
apt-get upgrade -y

第二步,安装canvas插件依赖库

ubuntu下的libjpeg8-dev替换成libjpeg-dev即可成功安装相应的依赖库。

sudo apt-get install libcairo2-dev libjpeg-dev libpango1.0-dev libgif-dev build-essential g++ -y

第三步,安装node.js,pm2

上官网,获取node.js的安装包下载链接,用以下命令进行下载及安装。

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,这样的选型让整体更稳定。

    原文作者:zhoutk
    原文地址: https://segmentfault.com/a/1190000008540487
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞