server.js
const path = require('path');
const express = require('express');
const FRONTEND_VERSION = 'v4.8.5';
const FRONTEND_CLIENTID = 'frontend';
const API_GATEWAY = process.env.API_GATEWAY;
const KEYCLOAK_URL = process.env.KEYCLOAK_URL;
const port = process.env.PORT || 8090;
const app = express();
app.use(express.static(__dirname + '/dist'));
app.set('views', path.join(__dirname, '/dist/'));
app.set('view engine', 'ejs');
app.get('*', function response(req, res) {
res.render('index', {
FRONTEND_VERSION,
FRONTEND_CLIENTID,
API_GATEWAY,
KEYCLOAK_URL,
});
});
app.listen(port);
dockerfile
FROM node:12.22.5
RUN mkdir -p /app
WORKDIR /vstudio
COPY ./release/app .
RUN npm install
EXPOSE 8080
CMD ["node", "server.js"]
创建镜像
docker build -f ./Dockerfile -t app:4.8.5 .
注意,最后的那个点,是必须的
因为server.js 里需要两个参数:API_GATEWAY 和 KEYCLOAK_URL, 所以启动命令为:
docker run -d -e API_GATEWAY=http://0.0.0.1/ -e KEYCLOAK_URL=http://0.0.0.1:8080/auth/ -p 8099:8080 app:4.8.5
查看所有docker容器,包括不在running状态的。
docker ps -a
查看正在运行的docker 容器
docker ps
查看具体某一个容器的日志。
docker logs 参数 容器id
其中参数可选择的有:
-f follow 表示实时显示日志
-t timestamp 表示显示时间戳
--tail=n 表示显示末尾n行
例如:docker logs -f --tail=200 xxxx,表示实时加载日志信息,并且仅显示最后200行。