设置
我在我的Ubuntu服务器上运行Docker,尝试创建一个Laravel容器来使用artisan运行我的网站。 Laravel项目在GitHub存储库中,并使用dockerfile将项目克隆到docker容器中。
问题
Laravel项目依赖于不包含在repo项目中的.env
(环境文件),出于安全原因。所以当我将repo克隆到docker容器时,它不包括.env文件,从而无法正常运行网站。我在我的Ubuntu本地拥有一个.env
文件,正在尝试COPY
到docker容器的Laravel项目文件夹中,但它当然不起作用,因为它正在寻找docker容器文件结构中的目录。
错误
Step 6/11 : COPY /containers/.env .env
lstat containers/.env: no such file or directory
问题
我该如何使用COPY
命令将.env文件从Ubuntu服务器复制到Docker容器中?
文件结构(Ubuntu)源自:
root/
containers/
- docker-compose
- .env
Docker容器的文件结构来源:
root/
var/www/
dockerfile
FROM hitalos/laravel
RUN git config --system http.sslverify false
RUN git clone repo /var/www
RUN git checkout test
COPY /containers/.env .env
# Run Compser Install
RUN composer install -d /var/www
RUN php /var/www/artisan key:generate
WORKDIR /var/www
CMD php /var/www/artisan serve --port=80 --host=0.0.0.0
EXPOSE 80