摘要:第三步,安装,上官网,获取的安装包下载链接,用以下命令进行下载及安装。第四步,设置正确的时区显示时区信息生成选定时区配置文件新时区设置生效网络对时需安装第五步,生成镜像基础环境已经安装完成,退出容器,生成镜像即大功告成。
以前的软件部暑的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
摘要:之所以在本地构建,而没有使用仓库的,是因为,我们的镜像采用了国内阿里云的源,再加上某些很奇妙的网络因素,在中自动构建时,升级总会失败。然而,在本地再次构建成功。 见字如晤。 前段时间,Node.js 官方发布了Node 8.9.3 LTS版本,并且官网首页提示新版本有重要安全更新,Important security releases, please update now! ,然后我立...
摘要:在第三种情况下,我建议在另外一个镜像安装构建工具,基于最小的镜像。做这个的一个简单方式是指定包的版本,当通过包管理器更新的时候。这里有一个怎样做的示例我们所能希望的是,但是这是没有保障的,包仓库从现在开始的一年仍然会是这个版本。 本文的原文地址是 What constitutes a good docker image? 注:本文不会全部翻译,只会挑选个人认为有价值的部...
摘要:为确保系统里面没有自带的软件的残留,我们要清除一下旧版本的,虽然新系统一般都不会有就是了。更新软件包缓存。 showImg(https://segmentfault.com/img/remote/1460000015914895?w=1240&h=819); 小剧场 测试:裤裆你这页面刷新就白屏啊,怎么了啊,而且你看这 network,怎么这些 js 这么大啊,很耗流量而且加载速度还很...
摘要:测试环境和产品环境应该使用不同的任务,因为服务会部署到不同的机器。使用部署设置时区加入程序并安装包发布其他资料持续集成执行读不到环境变量问题文档 showImg(https://segmentfault.com/img/remote/1460000010233188); docker run -u root -itd --name jenkins -p 8080:8080 -p 500...
阅读 3184·2021-11-15 11:37
阅读 2427·2021-09-29 09:48
阅读 3769·2021-09-22 15:55
阅读 2982·2021-09-22 10:02
阅读 2611·2021-08-25 09:40
阅读 3205·2021-08-03 14:03
阅读 1671·2019-08-29 13:11
阅读 1550·2019-08-29 12:49