在CentOS中使用docker运行nodejs应用

本文详细介绍了在CentOS系统中使用Docker部署Node.js应用及MongoDB数据库的步骤,包括Docker的安装配置、加速设置、项目文件上传、镜像构建、容器运行及容器间链接等关键环节。

一、使用yum安装docker

1

yum -y install docker

  

二、查看docker版本

1

docker  version

 

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

1

2

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

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

  

四、设置docker加速

1

2

3

4

5

6

7

8

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阿里云镜像库上查找

1

2

docker pull node

docker pull mongo

  

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

1

yum -y install lrzsz

  

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

1

2

3

cd /home

rz

ls

  

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

1

2

mkdir /home/blog

tar zxvf blog.tar.gz blog

  

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

1

vi /etc/selinux/config

 

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

1

2

mkdir /home/mongo

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

  

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

1

cd /home/blog

Dockerfile文件

1

2

3

4

5

6

7

8

9

10

#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" ]

运行命令构建镜像

1

docker build -t mynodeapp .

查看镜像

1

docker images

 

十二、启动nodejs项目

--link的作用是绑定其他容器,并将该容器以指定名称暴露给当前容器。下面将mongodb的容器暴露给项目容器,这样项目才能连接到mongodb。

(记得修改mongodb的连接地址,要不会报错)

1

docker run --name nodeApp --link mongodb:mongodb -d -p 3000:3000 mynodeapp

  

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

1

docker ps

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值