Want to read this with better formatting? Of course you do; Check out the page on Notion!
What's in the image?
A simple static webpage I had created for fun a few months ago. I knew it would come in handy!
What did I do?
- Used demo static webpage for testing.
- Created Dockerfile
💡 It should be Dockerfile, no extension. Dockerfile.Dockerfile is incorrect!
- Used nginx Alpine as server and the following code:
FROM scratch as static-site
WORKDIR /app
COPY . . [#to same directory]
FROM nginx:1.16.0-alpine as server
COPY --from=static-site /app /usr/share/nginx/html
EXPOSE 80 [#For web access]
CMD [ "nginx", "-g", "daemon off;"]
From Mwiza Kumwenda (see resources below).
I wondered if I should use "start" in the CMD [ "nginx", "-g", "daemon off;"] list/tuple, but it worked to package the image without it
Actually, pushing the image required me to start it as a container and then package the container, otherwise, you're met with the following error messages;
Error Pushing to Docker Hub:
An image does not exist locally with the tag
username/staticapptest an 'denied: requested access to the resource is denied', 'failed to read dockerfile:
open /var/lib/docker/tmp/buildkit-mount267173172/Dockerfile: no such file or directory'
The Fix
- Creating the image as a container and then pushing it works
Steps Taken:
- Package app (above)
- Run the Image
- Take the Image ID and run within a container;
776442dod12 libtest:latest "nginx -g 'daemon of…" 18 seconds ago Up 13 seconds 0.0.0.0:80->80/tcp hopeful_thompson
- Commit the container;
docker commit 776442dod12 <name>/libtest:<tag>
- 5
docker images
reveals;
libtest latest 776442dod12 25 hours ago 29.4MB
- Then I push it to my DockerHub;
And it works; Check it out publicly here.
Make Sure...
- You're in the right directory with the file.
- The file is simple Dockerfile, not Dockerfile.Dockerfile.
- The image is run in a container before you package.
Resources used:
- Host Your Static Website in Azure as a Docker Container
- Docker for Beginners: From Desktop to Deployment
- How to Safely Push Docker Images (modified the instructions for Windows)
Comments
Post a Comment