failed to solve with frontend dockerfile
The name of docker files has no extension, it's just Dockerfile
with capital D
and lowercase f
You can also specify the Dockerfile name such as docker build . -f Dockerfile.txt
if you'd like to name it something else
One can provide the filename of the docker file using -f
.
For instance, if your docker file is called Dockerfile.base
, call the build
command as follows:
docker build . -f Dockerfile.base -t helloworld
Then, you can start the build image using following command:
docker run --rm -it helloworld
I would like to sum up the information from different answers in one answer, and also add my own experience that brought me to this question:
- Ensure that you're in the same directory that contains your dockerfile as where you're running your command from (running
ls
ordir
depending on if you're using Linux or Windows/cmd shell respectively to determine if the file you'll use to build your docker container exists there) - Docker will accept at least two (maybe only two?) default names for dockerfiles:
dockerfile
andDockerfile
. If you have other capitals in the filename it will most likely fail. Also note that the default filenames have no file extension (so if you're to create the file in Notepad for instance, it may be a .txt or another extension by default). There is another answer here that shows how to save it without a filename from notepad, but you can also use the following commands in Linux and Windows command prompt, respectively:mv dockerfile.txt dockerfile
ren dockerfile.txt dockerfile
- If you need to use a different name instead of the default
dockerfile
/Dockerfile
, then you can use the option-f
(link to docs), which states:
-f, --file string Name of the Dockerfile (Default is 'PATH/Dockerfile')
Taken from another answer, here's an example of how you can use that command:
docker build . -f Dockerfile.base -t helloworld
And just to bring it all together, you don't need to use the filename again once the container is built, so you can just run it with:
docker run --rm -it helloworld