[英]Docker PHP image. lstat docker-php-source: no such file or directory
[英]Docker: “lstat no such file or directory” error when building image. File is there
我想將一個簡單的 JS Boilerplate 部署到 Docker Cloud。 我使用已用於不同樣板和圖像的 Dockerfile。 Dockerfile 非常簡單。 它只是基於官方的nginx,添加了兩個配置文件,然后將我的gulp樣板的輸出文件夾添加到nginx根目錄。 所以我將它從 one 目錄復制到新的樣板,因為我想嘗試這個。
我得到的錯誤是這個(最后一行)
Sending build context to Docker daemon 277.5 kB
Step 1 : FROM nginx
---> af4b3d7d5401
Step 2 : MAINTAINER Ole Bjarnstroem
---> Using cache
---> f57bc23d9444
Step 3 : ENV LANG en_US.UTF-8
---> Using cache
---> f6f4a76092dd
Step 4 : COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
---> Using cache
---> c4f83a39ba73
Step 5 : COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
---> Using cache
---> 6fe5a6b61d9f
Step 6 : ADD ./dist /usr/share/nginx/html
lstat dist: no such file or directory
但是 dist 文件夾在那里。
.
├── Dockerfile
├── JSCS.intellij.formatter.xml
├── README.md
├── app
├── dist
├── gulpfile.babel.js
├── jspm.conf.js
├── jspm_packages
├── karma.conf.js
├── nginx
├── node_modules
├── package.json
├── tsconfig.json
├── tslint.json
├── typings
└── typings.json
值得注意的是,要復制的文件夾名為./public
所以我可以想象這是某種奇怪的 Docker 緩存問題。
我的 Dockerfile:
FROM nginx
ENV LANG en_US.UTF-8
# Copy configuration files
COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
# Add Gulp output folder to server root
ADD ./dist /usr/share/nginx/html
# Port configuration
EXPOSE 8080
到目前為止我嘗試過的:
我的構建命令:
docker build -t my_repo/my_app .
感謝您的幫助!
編輯:每個其他文件夾都有效。 這也不是文件權限的問題。 看來,Docker 只是不喜歡 dist 文件夾。 這很糟糕。
好吧,愚蠢的我。 項目文件夾中有一個帶有dist
的.dockerignore
文件...案例關閉
我遇到了同樣的問題,但不是.dockerignore
,我忘記指定運行.dockerignore
的目錄。在我的情況下,該目錄是.
我之前的完整命令是
docker build - < Dockerfile
之后是
docker build . < Dockerfile
我把目錄放在build命令后面用-f來指定dockerfile
例如:
sudo docker build . -t test:i386 -f mydockerfile
build 之后的點是要構建的目錄,在本例中為當前目錄。
(學分: https : //serverfault.com/a/666154/152918 )
要復制的文件必須在 Docker 映像目錄中。 您不能在文件系統的任何位置引用文件。
我也有同樣的問題,問題不是我的.dockerignore
而是我的.gitignore
,因為我無法從我的 gitgnore 中刪除 dist 我在我的 Dockerfile 中添加了cp
命令:
....
WORKDIR /
RUN cp -r public/dist/* www/
EXPOSE 80
我遇到了這個問題,結果是我內聯了一條評論,例如
COPY file1.txt dest/ # comment
事實證明你不能這樣做。
Google App Engine SDK 版本 138 中的一個相關錯誤導致了相同的錯誤消息。 此錯誤已在 SDK 版本 139 中修復。 您可以使用以下命令升級到最新版本:
gcloud components upgrade
對於以下 docker build 錯誤,
COPY failed: stat /<**path**> :no such file or directory
我通過重新啟動 docker 服務解決了這個問題。
sudo service docker restart
在 Mac OS Big Sur 上,我不得不重新啟動我的 Docker 服務,然后再次為我工作(總是在更改我的 .env 后發生)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.