美文网首页
Docker Compose

Docker Compose

作者: 申_9a33 | 来源:发表于2021-06-15 22:24 被阅读0次

1.docker compose 概念

  • 1.1服务(service):应用容器
  • 1.2项目(project):docker-compose.yml

2.新建Dockerfile创建node服务

FROM node:12-alpine

ADD . /code

WORKDIR /code

RUN yarn install --production 

CMD ["node", "./index.js"]
  • FROM 定义基础镜像
  • 将当前目录添加到code中
  • 设置工作目录
  • 安装所有node依赖
  • 启动node服务

3.编写node服务

const Koa = require("koa");
const redis = require("redis");
const client = redis.createClient({ host: "redis", port: 6379 });

const app = new Koa();

function getCount() {
  return new Promise((resolve, reject) => {
    client.incr("count", (err, reply) => {
      if (err) {
        reject(err);
        return;
      }
      resolve(reply);
    });
  });
}

app.use(async (ctx) => {
  let count = 0;
  try {
    count = await getCount();
  } catch (error) {
    ctx.body = error;
  }
  ctx.body = "Hello World" + count;
});

app.listen(3000);

  • 内部连接redis

4.编写docker-compose.yml 项目

version: "3"
services:
  web:
    build: .
    ports:
      - "5000:3000"
  redis:
    image: "redis:alpine"
  • version:指定版本
    • services:内包含两个服务
      • web服务
        • build 指定context
        • ports: 外部5000端口映射到容器内部3000
          +volumes: 数据持久化,当前目录,映射到内部code中
      • redis:服务
        • image:指定基础镜像

5.运行docker-compose up创建并运行整个服务启动

6.docker-compose --help查看帮助

相关文章

网友评论

      本文标题:Docker Compose

      本文链接:https://www.haomeiwen.com/subject/wdktyltx.html