在CentOS中使用docker运行nodejs应用

Posted 牧云人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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应用

 

以上是关于在CentOS中使用docker运行nodejs应用的主要内容,如果未能解决你的问题,请参考以下文章

docker centos7 nodejs 编译安装

在CentOS7中给docker加权限

在windows下创建docker run时应注意事项

docker /dev/mapper/centos-root 空间满了,怎么办

无法通过 Docker 容器运行 NodeJS 微服务

centos6.5 安装docker方法