"docker: invalid reference format" messageThe current directory ( %CD% ) or user profile path ( %USERPROFILE% ) in the command contains a space. To fix the problem, put double quotation marks around any references to a path that contains one or more spaces.
To push an image to Docker Hub, you must first name your local image using your Docker Hub username and the repository name that you created through Docker Hub on the web. You can add multiple images to a repository by adding a specific :<tag> to them (for example docs/base:testing ).
To run an image inside of a container, we use the docker run command. The docker run command requires one parameter and that is the image name. Let's start our image and make sure it is running correctly.
In powershell you should use ${pwd}
instead of $(pwd)
The first argument after the "run" that is not a flag or parameter to a flag is parsed as an image name. When that parsing fails, it tells you the reference format, aka image name (but could be an image id, pinned image, or other syntax) is invalid. In your command:
docker run -p 8888:8888 -v `pwd`/../src:/src -v `pwd`/../data:/data -w /src supervisely_anpr --rm -it bash
The image name "supervisely_anpr" is valid, so you need to look earlier in the command. In this case, the error is most likely from pwd
outputting a path with a space in it. Everything after the space is no longer a parameter to -v
and docker tries to parse it as the image name. The fix is to quote the volume parameters when you cannot guarantee it is free of spaces or other special characters.
When you do that, you'll encounter the next error, "executable not found". Everything after the image name is parsed as the command to run inside the container. In your case, it will try to run the command --rm -it bash
which will almost certainly fail since --rm
will no exist as a binary inside your image. You need to reorder the parameters to resolve that:
docker run --rm -it -p 8888:8888 -v "`pwd`/../src:/src" -v "`pwd`/../data:/data" -w /src supervisely_anpr bash
I've got some more details on these two errors and causes in my slides here: https://sudo-bmitch.github.io/presentations/dc2018/faq-stackoverflow-lightning.html#29
I had the same issue when I copy-pasted
the command. Instead, when I typed-in the entire command, it worked!
Good Luck...
I had a similar problem.
Issue I was having was $(pwd)
has a space in there which was throwing docker run off.
Change the directory name to not have spaces in there, and it should work if this is the problem
I ran into this issue when I didn't have an environment variable set.
docker push ${repo}${image_name}:${tag}
repo
and image_name
were defined but tag
wasn't.
This resulted in docker push repo/image_name:
.
Which threw the docker: invalid reference format.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With