我正在尝试使用 makefile 构建一个 docker 容器:
up_build_dev:
@echo "Stopping docker images (if running...)"
docker-compose down
@echo "Building (when required) and starting docker images..."
DB_USER=backend DB_PASSWORD=password DB_ROOT_USER=root DB_ROOT_PASSWORD=password DB_NAME=my_db DB_PORT=3306 DB_HOST=mysql LISTEN_PORT=80 HOST_PORT=8080 ENV=dev docker-compose up --build -d
@echo "Docker images built and started!"
但是,当我在终端中运行此 compose 命令而不使其正常工作时,环境变量未传递。
我尝试使用export
和env
关键字,但没有效果。
PS:这是一个测试数据库和开发容器,所以我不介意是否暴露任何密码。
您是否尝试过在设置最后一个变量后用分号导出?
在您的示例中,在“DB_USER=backend”之前添加“export”,并在“ENV=dev”后添加分号,如下所示。
我可能错了,但这应该可以解决问题。
*编辑以更改代码块的引用。