Failed to Create an Image Using Dockerfile
Failed to Find a File by Running the COPY or ADD Command
Symptoms
The build task contains the Build Image and Push to SWR or Run Docker Commands action. When a task is executed, the following error information is displayed in the log:
ADD failed: stat /var/lib/docker/tmp/docker-builder154037010/temp: no such file or directory [ERROR] [Build Image and Push to SWR]: Error information: DEV.CB.0210043, Docker image creation failed.
COPY failed: stat /var/lib/docker/tmp/docker-builder076130522/test.txt: no such file or directory
Cause Analysis
The source file of the ADD command is ./temp, but no temp file is available in the current directory.
Solution
Assume that the structure of the current directory is as follows:
+ target - temp - Dockerfile
The target directory contains temp files, and the Dockerfile file is at the same level as the target directory.
- Method 1: Change the source file of the ADD command to ./target/temp.
- Method 2: Use the target directory as the working directory. Change the working directory for the Build Image and Push to SWR action to target and the Dockerfile path to ../Dockerfile.
Failed to Pull the Base Image During Image Creation
When you use Dockerfile to create an image and specified base image parameters are incorrect, the image will not be pulled. The scenarios are as follows:
- No specified images or no permission
pull access denied for java1, repository does not exist or may require 'docker login'
Analysis and Solution
This error occurs when the specified image cannot be found in the image repository or the current user does not have the pull permission on the image.
In this example, the image java1 specified by the FROM java1:8ull-jdk-alpine command cannot be found in the image repository. Therefore, this error occurs. Check and modify the image name and try again.
- No specified image tags
manifest for java:8ull-jdk-alpine not found
Analysis and Solution
If the specified image exists in the image repository but the corresponding version or tag of the image does not exist, the error manifest not found is displayed. In this Dockerfile, the image java:8ull-jdk-alpine is specified by the FROM java:8ull-jdk-alpine command. The Java image exists in the image repository but does not have the corresponding version or tag (8ull-jdk-alpine). As a result, this error occurs. Check and modify the image version and try again.
Failed to Execute the Command
Symptoms
When Dockerfile is used to create an image, the following error message is displayed in the docker build stage:
exec user process caused "exec format error"
Cause Analysis
The possible causes are as follows:
- The base image used for creating an image does not match the executor. For example, the image is an Arm image, but the executor is an x86 image.
- An error occurs when the Dockerfile file content is copied from another place.
Solution
- Check whether the image matches the executor. If the image is an x86 image, only the x86 executor can be used.
- Perform the build again and check whether the build is successful. If the build fails, manually enter the Dockerfile and perform the build again.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot