docker 用nginx 部署 node应用

1、查询镜像

# 1、查询镜像。
docker search nginx

 2、拉取指定的镜像

# 2、拉取指定的镜像
docker pull nginx

3、下载完成后终端查看

# 3、下载完成后终端查看
docker images

 

4、进入到项目的根目录

# 4、进入到项目的根目录
# 编译命令
npm run build

 

 5、打包上传到服务器

 6、如果没有安装zip,重新安装

 7、解压 压缩包

# 解压缩包,打包的时候,用tar.gz
unzip dist.zip -d web

8、重建nginx容器

# 先创建容器,复制 配置文件
docker run -tid --name chunpinjiaye_web  -p 80:80 nginx
# 进入容器
docker exec -it chunpinjiaye_web bash
# 查询容器ID
# -a 代表查看所有的容器,包括已停止的
docker ps -a
# 查询配置文件路径
ls -la /etc/nginx 
# 拷贝默认配置文件 从容器-》宿主
# cdb190da088a 容器id
docker cp cdb190da088a:/etc/nginx/nginx.conf /webapp
# 创建数据文件夹,日志文件夹,配置文件夹,用于文件及映射
# 停止容器
docker stop cdb190da088a
# 删除容器
docker rm cdb190da088a
# 重建容器
# run 创建一个新的容器并运行一个命令
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
# -i 以交互模式运行容器,通常与 -t 同时使用
# -d 后台运行容器,并返回容器ID
# -p 随机端口映射,容器内部端口随机映射到主机的高端口
# --name 容器名称
# -v: 绑定一个卷 文件或者文件夹映射
docker run -tid -p 80:80 --name chunpinjiaye_web 
    -v /webapp/app/chunpinjiaye/web:/www 
    -v /webapp/config/nginx:/etc/nginx/conf.d 
    -v /webapp/log/nginx:/var/log/nginx nginx

 

 

 # 修改root为映射的路径

# 然后进入容器,重新加载nginx
docker exec -it chunpinjiaye_web bash
nginx -s reload

9、多个容器内部通信,我采用桥接的方式

# 创建bridge网络:
docker network create local_net
# 查询网路
docker network ls
# 运行容器连接到testnet网络。
# 使用方法:docker run -it --name <容器名> ---network <bridge> --network-alias <网络别名> <镜像名>
docker run -it --name centos-1 --network testnet --network-alias centos-1 docker.io/centos:latest

 

# nginx常用命令
# 查看帮助信息
nginx -h
# 查看nginx版本(小写字母v)
nginx -v
# 除版本信息外还显示配置参数信息(大写字母V)
nginx -V
# 启动nginx
start nginx
# 指定配置文件启动nginx
start nginx -c filename
# 关闭nginx,完整有序的停止nginx,保存相关信息
nginx -s quit
# 关闭nginx,快速停止nginx,可能并不保存相关信息
nginx -s stop
# 重新载入nginx,当配置信息修改需要重新加载配置是使用
nginx -s reload
# 重新打开日志文件
nginx -s reopen
# 测试nginx配置文件是否正确
nginx -t -c filename

  

原文地址:https://www.cnblogs.com/armyant/p/11710294.html