制作docker镜像-node

197 阅读1分钟
  • 1.拉取ubuntu
    docker pull ubuntu:16.04
  • 2.执行ubuntu
    docker run -ti --name ubuntu ubuntu:16.04
  • 3.安装node环境
    # 源码安装node
    
    # 1.从nodejs.org上下载
    wget https://nodejs.org/dist/v10.9.0/node-v10.9.0.tar.gz      
    
    # 2.从宿主机拷贝到容器里
    docker cp node-v10.9.0.tar.gz 4e481178cd60:/root/
    
    # 3.进入容器内
    docker exec -it ubuntu bash
    
    # 4.解压node-v10.9.0.tar.gz
    tar zxvf node-v10.9.0.tar.gz
    
    # 5.进入node-v10.9.0,执行configure,执行之前要安装一些依赖
    cd node-v10.9.0
    apt update
    apt install python
    apt install g++ 
    ./configure
    
    # 6.安装,这个过程有点慢
    make && make install 
    
    # 7.测试node是否安装成功
    node -v
    
    # 8.注意,这里要记得更新时区.否则时间对不上
    
    # 8.1安装tzdata
    apt install tzdata

    # 8.2执行tzdata
    dpkg-reconfigure tzdata

    # 8.3 地区选择(Asia)

    # 8.4 时区选择(Shanghai)
    echo "Asia/Shanghai"
  • 4.压缩容器
    # 卸载掉多余的依赖.以下命令容器内执行
    apt remove python           // 删除 Python
    apt remove g++              // 删除 g++
    apt autoremove              // apt清理
    rm -rf node-v10.9.0         // 删除多余文件
    rm -rf /var/lib/apt/lists/* // 清理掉apt安装的文件
  • 5.打包镜像
    # 4e481178cd60 --> containerId
    # source/node:v1  --> 自定义容器名称
    docker commit -a 'auth name' -m 'commit info' 4e481178cd60 source/node:v1
  • 6.推送镜像
    # 登录
    docker login -u username docker.io.com
    
    # 生成tag
    docker tag source/node:v1 tag/node:v1 
    
    # 推送镜像
    docker push tag/node:v1
    
    # 推送成功之后,拉取测试一下
    docker pull source/node:v1
    
    # 运行容器
    docker run -itd --name node source/node:v1
    
    # 进入容器内
    docker exec -it node bash