在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
中设置的默认值。