之前的軟件部暑的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,這樣的選型讓總體更穩定。