当前位置: 首页 > news >正文

docker3 docker-compose.yml 文件编写

docker-compose.yml文件了 到nodeapp 顶级目录操作 文件下操作
vi docker-compose.yml

内容如下:
// 不能使用镜像的名字了 需要打包编译 把images文件下的node文件进行构建
// depends_on依赖的容器
version: "2"
services:
  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_DATABASE: "nodeapp"
      MYSQL_USER: "guozimo"
      MYSQL_PASSWORD: "123456"
    volumes:
      - dbdata:/var/lib/mysql
  node:
    build:
      context: "./images/node"
      dockerfile: Dockerfile
    depends_on:
      - db  
  web:
    image: nginx
    ports:
      - "8080:80"  
    depends_on:
      - node   
    volumes:
      - "./images/nginx/conf.d:/etc/nginx/conf.d"  
      - "./images/node/web/public:/public" 
volumes:
  dbdata:
    driver: local  


   
    vi default.conf
    下面是default.conf的内容
    静态文件的处理 动态文件的处理
    curl http://127.0.0.1:3000

    server{
      listen 80;
      server_name localhost 39.105.91.188;
      location /{
        root /public;
        index index.html;
      }
      location /api{
        proxy_pass http://127.0.0.1:3000
      }
    }  


    docker-compose up  
    注释代码:
    /**
    **/


let http =require("http");
http.createServer(function(req,res){
 res.end("3000");
}).listen(3000,function(){
    console.log('node server start at port 3000')
});

docker-compose down
docker-compose up --build 
// 修改代码后需要重新编译 重新编译node镜像


关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
 防火墙重启
 systemctl restart docker


server{
      listen 80;
      server_name localhost 39.105.91.188;
      location /{
        root /public;
        index index.html;
      }
      location /api{
        proxy_pass http://node:3000;
      }
    } 


    根目录访问:
    curl http://localhost:8080/api

    继续修改server.js
    echo index.html > index.html
 [root@guozimo public]# echo 404.html > 404.html
 
 如果docker-compose up --build
 访问curl http://locahost:8080/api 数据库访问报错
 可以尝试更新一下
 docker pull mysql
 docker pull mariadb
 再重新docker-compose up --build
 重新访问 curl http://locahost:8080/api

      


 

相关文章:

  • nginx基础1
  • nginx1
  • 承认多元化,保持宽容
  • nginx2
  • 如何编写高质量的代码——来自《代码大全(第2版)》的启示
  • nginx3 gzip等
  • ClickHouse概述
  • godaddy/terminus 健康检查
  • node 中nextjs
  • 利用visual source safe管理代码
  • 【Nest 极速指南】应用篇之 ElasticSearch
  • next 微服务
  • 服务器拉取git代码
  • 专用来回TOO OLD的用的火星帖,今天翻出来又再感叹一下!
  • [技术娱乐]How to make love
  • 【EOS】Cleos基础
  • AHK 中 = 和 == 等比较运算符的用法
  • Cumulo 的 ClojureScript 模块已经成型
  • HTML-表单
  • HTTP--网络协议分层,http历史(二)
  • If…else
  • node和express搭建代理服务器(源码)
  • Spring-boot 启动时碰到的错误
  • Vue--数据传输
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 给初学者:JavaScript 中数组操作注意点
  • 两列自适应布局方案整理
  • 每天一个设计模式之命令模式
  • 前端之React实战:创建跨平台的项目架构
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 我看到的前端
  • 详解移动APP与web APP的区别
  • 用简单代码看卷积组块发展
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​批处理文件中的errorlevel用法
  • ​业务双活的数据切换思路设计(下)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (06)金属布线——为半导体注入生命的连接
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C++20) consteval立即函数
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (九)信息融合方式简介
  • (转)ABI是什么
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • *** 2003
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Core 版本不支持的问题
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃