在Docker容器中设置环境变量,可以通过以下两种方式进行:
- 在docker run命令中使用-e或–env参数:
docker run -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7
此命令在运行mysql容器时,设置MYSQL_ROOT_PASSWORD环境变量为password。
例如,我们可以运行Nginx容器并设置环境变量:
docker run -d -e NGINX_HOST=localhost -e NGINX_PORT=80 nginx:1.19
然后在容器内的Nginx配置可以使用$NGINX_HOST和$NGINX_PORT变量:
server {
listen $NGINX_PORT;
server_name $NGINX_HOST;
}
- 在Dockerfile中使用ENV指令:
Dockerfile
ENV MYSQL_ROOT_PASSWORD=password
此指令在构建镜像过程中设置MYSQL_ROOT_PASSWORD环境变量。
例如:
Dockerfile
ENV NGINX_HOST=localhost
ENV NGINX_PORT=80
构建镜像后,启动的容器就具有NGINX_HOST和NGINX_PORT这两个环境变量。