docker compose:存在.env路径问题
我正在尝试运行一个使用Capistrano部署的停靠项目 我的应用程序位于docker compose:存在.env路径问题,docker,environment-variables,capistrano,Docker,Environment Variables,Capistrano,我正在尝试运行一个使用Capistrano部署的停靠项目 我的应用程序位于/opt/hosting/My project目录中,结构如下: /opt/hosting/my-project /current -> releases/201704251234/ /releases/201704251234/ /repo/ revisions.log /shared/ 目前,我想做的只是: cd /opt/hosting/my-project/curre
/opt/hosting/My project
目录中,结构如下:
/opt/hosting/my-project
/current -> releases/201704251234/
/releases/201704251234/
/repo/
revisions.log
/shared/
目前,我想做的只是:
cd /opt/hosting/my-project/current
docker-compose -f docker-compose-production.yml up -d
此操作失败,出现以下错误:
错误:找不到env文件:/opt/hosting/my project/shared/.env
这是我的docker-compose-production.yml的内容
version: "2"
services:
app:
build: ./
container_name: myproject_app
env_file:
- /opt/hosting/my-project/shared/.env
expose:
- 9000
volumes:
- /opt/hosting/my-project/:/opt/hosting
所需的.env文件存在,可读,并且似乎不包含任何错误。内容如下:
COMPOSE\u PROJECT\u NAME=myproject
我的docker compose-v:
docker compose 1.9.0版,内部版本2585387
有人知道为什么会失败吗
干杯 好的,经过多次尝试,我成功地启动了我的应用程序 我试着做的是:
namespace :env_file do
desc "Copy shared .env file"
task :copy do
on roles(:docker) do
within current_path do
execute "cp #{shared_path}/.env #{current_path}/.env"
end
end
end
end
干杯我认为您的docker compose文件无法使用项目目录之外的内容,您需要将您的
共享的.env
文件移动到文件夹当前的
中,否则…@dzof31不幸的是,我需要将.env文件保留在此目录中,因为应用程序是使用Capistrano部署的。“共享”文件夹包含在各种部署过程中不应更改的所有文件。明天我将尝试将此文件移动到与docker compose文件相同的级别,以查看它是否以这种方式工作,如果是这样,我将更改部署过程。