在Node.js应用中,如果你想要在运行时从docker run命令中获取参数传递给你的应用,你可以使用环境变量。你可以在docker run命令中使用-e或--env选项来设置环境变量。
例如,你有一个config.default.js文件,其中有一个参数需要从Docker环境中获取:
const port = process.env.PORT || 3000;
// 其他配置...
module.exports = {
port: port
// 其他配置...
};
在你的Dockerfile中,你可以这样设置默认端口:
# 设置默认环境变量 ENV PORT 3000
然后,你可以在运行容器时通过docker run命令来覆盖这个变量:
docker run -e PORT=5000 -p 5000:5000 your-node-app
这个命令会将容器内的应用配置为监听端口5000,并将主机的端口5000映射到容器的端口5000上。这样,你的Node.js应用就会使用docker run命令传递进来的端口号,而不是使用在Dockerfile中设置的默认值。
