美文网首页
docker部署Node项目

docker部署Node项目

作者: C3_b262 | 来源:发表于2019-01-05 19:05 被阅读0次

    本文主要介绍使用docker进行node项目部署的简单流程。

    1. docker基础操作

    对于docker的详细介绍文档很多,详见参考资料,本节主要介绍docker的简单部署中所需要的知识。

    1.1 基础知识

    docker是一个应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。我觉得可以简单的理解是docker是一个“虚拟机器”,可以将代码文件以及环境配置一起打包。

    其中设计两个比较重要的概念:镜像和容器。镜像就是大家所熟知的文件存储方案。

    • 镜像可以拓展出多个容器。
    • 容器的镜像的一个实例,一个镜像可以扩展出多个容器。
    • 容器的更改可以重新保存为一个新的镜像文件。

    1.2 基本操作

    sudo docker search ubuntu # 在docker库里面搜索
    sudo docker pull ubuntu # 获取ubuntu镜像
    sudo docker images # 查看镜像列表
    sudo docker run -i -t -p xxxx:80 -p xxxx:3000 -p xxxx:6379 -p xxxx:3306 piano_room_reservation bash# 从镜像文件运行一个容器,并规定端口映射
    sudo docker ps -a # 显示容器列表
    sudo docker rm my_container_id # 删除容器
    sudo docker start my_container_id # 启动容器
    sudo docker close my_container_id # 关闭容器
    sudo docker exec -it my_cotainer_id bash # 进入容器命令行
    

    2. 部署实践

    本段以THU琴房预约项目为例,介绍部署流程。我们所配置的docker环境如下:

    ubuntu 18.04
    mysql 5.7
    redis 4.0.9
    node 10.15.0
    

    部署流程如下(获取ubuntu镜像,然后在ubuntu镜像上配置其他环境)

    #------------ 安装docker -----------------
    uname -r # 查看内核版本,要求高于3.10
    wget -qO- https://get.docker.com/ | sh # 使用脚本安装docker
    sudo service docker start # 启动docker后台服务
    docker run hello-world # 测试运行
    #------------ 获取ubuntu -----------------
    sudo docker search ubuntu
    sudo docker pull ubuntu
    sudo docker images
    #------------ 生成容器 -----------------
    sudo docker run -d -p xxxx:80 -p xxxx:3000 -p xxxx:6379 -p xxxx:3306 piano_room_reservation# 从镜像文件后台运行一个容器,并规定端口映射
    sudo docker exec -it container-id bash# 进入容器交互界面
    #------------ 配置docker环境 -----------------
    # 安装mysql,设置账号密码
    # 安装redis
    # 安装node
    # 配置项目
    

    3. 打包迁移

    本段主要介绍docker文件打包以及迁移准备。

    我们需要将容器文件重新打包为镜像文件,之后将镜像文件导出。

    sudo docker commit container_id image_name # 将容器打包为镜像
    sudo docker save image_name -o name.tar # 保存镜像
    sudo docker load -i name.tar # 导入镜像
    

    或者也可以选择上传至docker hub

    sudo docker login # 登录
    # 省略注册账号、建库操作
    sudo docker tag image_name your_hub_name/your_respositories:tag_name # 为镜像打上标签
    sudo docker push your_hub_name/your_respositories:tag_name # 上传
    # 如果为公有库,之后可以通过docker search得到
    

    4. 参考资料

    菜鸟教程

    官方文档

    相关文章

      网友评论

          本文标题:docker部署Node项目

          本文链接:https://www.haomeiwen.com/subject/plqdrqtx.html