zoukankan      html  css  js  c++  java
  • 在CentOS中使用docker运行nodejs应用

    一、使用yum安装docker

    yum -y install docker
    

      

    二、查看docker版本

    docker  version
    

    三、安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

    [root@localhost ~]# systemctl  start docker.service
    [root@localhost ~]# systemctl  enable docker.service
    

      

    四、设置docker加速

    mkdir -p /etc/docker
    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://fp4l15j6.mirror.aliyuncs.com"]
    }
    EOF
    systemctl daemon-reload
    systemctl restart docker
    

      

    五、下载nodejs和mongodb的镜像。需要的镜像在docker阿里云镜像库上查找

    docker pull node
    docker pull mongo
    

      

    六、安装lrzsz工具,用以将windows上的nodejs文件 上传到CentOS上

    yum -y install lrzsz
    

      

    七、将nodejs项目文件夹压缩成tar.gz格式,然后在XShell中移动到指定目录,输入rz上传文件。(nodejs项目不要包含node_modules文件夹)

    cd /home
    rz
    ls
    

      

    八、解压项目文件到指定目录

    mkdir /home/blog
    tar zxvf blog.tar.gz blog
    

      

    九、关闭selinux,不关闭这一个就无法实现docker的持久化,修改SELINUX=disabled,然后重启系统,sestatus查看是否设置成功

    vi /etc/selinux/config
    

    十、使用docker运行mongodb数据库,创建对应文件夹用以持久化

    mkdir /home/mongo
    docker run --name mongodb -v /home/mongo:/data/db -p 27017:27017 -d mongo
    

      

    十一、将位置移动到解压的项目文件夹中,编写Dockerfile来构建自己的镜像,之前是解压到blog文件夹中的,所以将位置改变为/home/blog

    cd /home/blog
    

    Dockerfile文件

    #Dockerfile文件
    FROM docker.io/node
    # Create app directory
    RUN mkdir -p /home/Service
    WORKDIR /home/Service
    # Bundle app source
    COPY . /home/Service
    RUN npm install
    EXPOSE 3000
    CMD [ "npm", "start" ]
    

    运行命令构建镜像

    docker build -t mynodeapp .
    

    查看镜像

    docker images
    

    十二、启动nodejs项目
    --link的作用是绑定其他容器,并将该容器以指定名称暴露给当前容器。下面将mongodb的容器暴露给项目容器,这样项目才能连接到mongodb。
    (记得修改mongodb的连接地址,要不会报错)
    docker run --name nodeApp --link mongodb:mongodb -d -p 3000:3000 mynodeapp
    

      

    十三、查看所有启动docker容器

    docker ps
    

    十四、通过ip在浏览器访问nodejs应用

  • 相关阅读:
    在DataList控件中删除数据记录
    java中进行二进制,八进制,十六进制,十进制间进行相互转换
    Java中重载重写
    WCF 第七章 寄宿 在Windows 进程激活服务中寄宿服务
    .NET 中的十进制浮点类型(译文)
    .NET 中的二进制浮点类型(译文)
    WCF 第六章 序列化和编码 总结
    WCF 第六章 序列化和编码 为自定义序列化使用XmlSerializer
    WCF 第七章 寄宿 在IIS7中寄宿服务
    WCF 第七章 寄宿
  • 原文地址:https://www.cnblogs.com/muyunren/p/7221529.html
Copyright © 2011-2022 走看看