docker容器化部署nodejs应用

docker容器化部署nodejs应用

##使用 Dockerfile 创建镜像  bossnodejs-test:v1.0.1 .————(镜像名称:v版本号+空格+点)——. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
docker build -t bossnodejs-test:v1.0.1 .   
##标记本地镜像,将其归入某一仓库  171.18.230.31:5000/node-y12726/---容器化仓库(主机和用户/路径)————是否有使用权限 
docker tag boss2cnodejs-test:v1.0.1 171.18.230.31:5000/node-y12726/bossnodejs-test:v1.0.1
##登陆到镜像仓库(不必须的操作)
docker login 171.18.230.31:5000
##将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push 171.18.230.31:5000/node-y12726/bossnodejs-test:v1.0.1
## -d 后台运行 -p 指定映射端口号(访问端口:nodejs应用启动端口) name 名字 
docker run -d -p 34000:4000 --name=bossnodejs bossnodejs-test:v1.0.1

## 启动并且进入容器(执行上一句,报错导致容器起不来,可以使用这个命令,查看命令)
docker run -it --name=bossnodejs bossnodejs-test:v1.0.1  /bin/bash

#启动后
#查找运行的容器
docker ps 
#查找所有的容器
docker  ps -a
#查找所有的容器 过滤关键词
docker ps -a|grep bossnodejs

##进入运行的容器
docker exec -it  容器ID bash 

##重启容器
docker restart
##停止容器
docker stop 
##删除容器
docker rm  

#进入容器后执行启动node命令(dockerfile中未配置启动命令或者启动不成功,进入容器处理应用)
node /fortess/bossNodejs/bossNodejs/bin/start 

##删除镜像
docker rmi
##删除远程仓库镜像
docker rmi 171.18.230.31:5000/node-y12726/bossnodejs-test:v1.0.1
##删除本地镜像
docker rmi  bossnodejs-test:v1.0.1



##对应的Dockerfile文件
#以nodejs为基础镜像
FROM 171.18.230.31:5000/nodejs:8.16.2_centos7.4

#在docker中用到的路径——在容器中的路径
ENV BOSS_HOME_PATH=/fortess/boss2cNodejs

#在docker中创建一个目录
RUN mkdir -p  $BOSS_HOME_PATH

#将当前目录中的东西copy到$BOSS_HOME_PATH目录下,.是指当前目录
COPY  .  $BOSS_HOME_PATH

#EXPOSE命令只是声明了容器应该打开的端口并没有实际上将它打开!
EXPOSE 4000

##启动命令
CMD ["node","/fortess/bossNodejs/bossNodejs/bin/start"]

注意:
Docker 删除镜像
分为两部:首先 删除 容器,再删除镜像。

  1. 删除前需要保证容器是停止的 stop
  2. 需要注意删除镜像和容器的命令不一样。 docker rmi ID ,其中 容器(rm) 和 镜像(rmi)
  3. 顺序需要先删除容器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种容器解决方案,Docker Compose可以简多个容器的管理和部署流程。Nacos是一个用于服务发现、配置管理和动态DNS服务的开源平台。Node.js是一个基于JavaScript的开源、跨平台的运行时环境,用于构建可扩展的网络应用程序。MongoDB是一个高性能、文档型NoSQL数据库,适用于处理大量的结构和非结构数据。MySQL是一个开源的关系型数据库管理系统,用于存储和管理结构数据。Redis是一个基于内存的高性能键值存储系统,用于缓存和数据持久。Seata是一个开源的分布式事务解决方案,用于保证分布式系统中的数据一致性。 通过Docker Compose,我们可以轻松地将这些不同的组件和服务以容器的方式部署在一台或多台服务器上。我们可以使用Docker Compose的配置文件定义每个服务的镜像、端口映射、环境变量等设置。在这个场景中,我们可以将Nacos、Node.js、MongoDB、MySQL、Redis和Seata分别作为独立的服务进行定义。 使用Docker Compose可以简部署过程,只需运行一个命令即可启动整个应用程序的容器群组。Docker会自动拉取和部署所需的镜像,启动容器,并通过网络连接各个服务。Nacos可以作为服务发现和配置中心,用于管理和注册各个服务的地址和配置信息。Node.js可以作为应用程序的后端逻辑进行开发,通过Nacos来发现和调用各个后端服务。MongoDB作为主要的数据存储,MySQL和Redis可以作为辅助数据存储和缓存。Seata可以用于管理和控制分布式事务,确保数据一致性。 总之,使用Docker Compose可以方便地将Nacos、Node.js、MongoDB、MySQL、Redis和Seata等组件集成在一起,并通过容器的方式进行部署。这样做可以极大地简应用程序的开发和部署过程,并提供高度可扩展的架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值