基于ubuntu16.04的docker镜像去打包安装了nodejs环境的docker镜像
前置条件
1.获取ubuntu16.04镜像
1 | # docker pull ubuntu:16.04 |
2.基于ubuntu16.04镜像启动容器
1 | # docker run -ti --name ubuntu ubuntu:16.04 /bin/bash |
从源代码安装Node.JS
安装node过程均在容器内进行
1.更新源并安装必要工具
1 | # apt-get update |
2.获取指定版本的node源代码
这里我们使用v8.9.0版,目前为长期支持版,可以使用两中获取源码的方式.
1 | # wget http://nodejs.org/dist/v8.9.0/node-v8.9.0.tar.gz |
or
1 | # git clone -b v8.9.0 git@github.com:nodejs/node.git |
3.修改目录权限
1 | # chmod -R 755 node |
4.编译安装node
1 | # cd node |
5.查看node版本
1 | # node --version |
安装完成后退出镜像
利用包管理器安装Node.JS
安装在镜像内进行
1.更新源并安装必要工具
setup_8.x为安装8.x版本,若安装9.x版本为:setup_9.x
1 | # apt-get update |
2.安装nodejs
1 | # apt-get install -y nodejs |
3.查看node版本
1 | # node --version |
安装完成后退出镜像
从容器创建一个新的镜像
注意: 在上一步已经退出容器,下面的操作是在本机上进行的.
1.执行 docker ps -a 查看name为ubuntu的ID
2.创建新的镜像
1 | $ docker commit -a "author" -m "commit message" b0084b239645 xxx/node8.9:v1 |
- -a: 作者信息
- -m: 提交信息
- b0084b239645:
docker ps -a中查看的ID - xxx/node8.9:v1: 新的镜像名称
3.上传到镜像仓库
镜像制作完成可以将镜像上传到镜像仓库,便于以后使用,可以指定仓库地址,也可以使用官方的仓库.
1 | $ docker push xxx/node8.9:v1 |