资讯专栏INFORMATION COLUMN

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

li21 / 1369人阅读

摘要:第三步,安装,上官网,获取的安装包下载链接,用以下命令进行下载及安装。第四步,设置正确的时区显示时区信息生成选定时区配置文件新时区设置生效网络对时需安装第五步,生成镜像基础环境已经安装完成,退出容器,生成镜像即大功告成。

以前的软件部暑的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,这样的选型让整体更稳定。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26798.html

相关文章

  • 记一次Docker构建失败

    摘要:之所以在本地构建,而没有使用仓库的,是因为,我们的镜像采用了国内阿里云的源,再加上某些很奇妙的网络因素,在中自动构建时,升级总会失败。然而,在本地再次构建成功。 见字如晤。 前段时间,Node.js 官方发布了Node 8.9.3 LTS版本,并且官网首页提示新版本有重要安全更新,Important security releases, please update now! ,然后我立...

    joyqi 评论0 收藏0
  • 怎样构建一个好的 Docker 镜像

    摘要:在第三种情况下,我建议在另外一个镜像安装构建工具,基于最小的镜像。做这个的一个简单方式是指定包的版本,当通过包管理器更新的时候。这里有一个怎样做的示例我们所能希望的是,但是这是没有保障的,包仓库从现在开始的一年仍然会是这个版本。 本文的原文地址是 What constitutes a good docker image? 注:本文不会全部翻译,只会挑选个人认为有价值的部...

    kk_miles 评论0 收藏0
  • docker 应用系列(一)--- 一步步搭建虚拟机 docker 环境 附有 vue-cli +

    摘要:为确保系统里面没有自带的软件的残留,我们要清除一下旧版本的,虽然新系统一般都不会有就是了。更新软件包缓存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小剧场 测试:裤裆你这页面刷新就白屏啊,怎么了啊,而且你看这 network,怎么这些 js 这么大啊,很耗流量而且加载速度还很...

    hatlonely 评论0 收藏0
  • Jenkins 搭建与集群发布环境构建

    摘要:测试环境和产品环境应该使用不同的任务,因为服务会部署到不同的机器。使用部署设置时区加入程序并安装包发布其他资料持续集成执行读不到环境变量问题文档 showImg(https://segmentfault.com/img/remote/1460000010233188); docker run -u root -itd --name jenkins -p 8080:8080 -p 500...

    Ali_ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<