That’s because this forum uses markdown. Use triple back tick fences (```) around blocks of code (like makefile quotes), and use single back ticks (`) for inline literals. To escsape a single char like an angle bracket, use a backslash.
Hi Eric, I hope you’ve been well. Maybe you might be able to lend me a hand here. I’m updating the toolchain to 2.5.2, and have run into a bit of a snag. I’m getting this error message in terminal, and I think it may have something to do with tag number being 12 in my rack-plugin-toolchain image in docker, when the latest MAKE file for the toolchain is 15. This is the message I’m getting:
Unable to find image 'rack-plugin-toolchain:15' locally
docker: Error response from daemon: pull access denied for rack-plugin-toolchain, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
It’s unclear to me how to update the image for the toolchain in Docker. As far as I was concerned, I didn’t have to do anything new with Docker after pulling the toolchain update, and cleaning the sdks and redownloading them.
Have you updated your toolchain yet, and possibly have any suggestions regarding what I may be missing and possible steps to get back up and running?
If anyone else has any suggestion, it would also be greatly appreciated. Thank you
Edit:
Okay, I think I managed to sort it out, as changing the tag from 12 to 15 resulted in a successful build. Although, changing the Docker Image Tag number did seem to create a second Docker image, and I’m not sure if I should remove the first image with the tag 12, as I have two images now.
These were the steps needed to create a second image with the proper tag. I’ll leave this here for future reference and/or if anyone else runs into this issue and is as unfamiliar with Docker as I am:
- List the images on your system using the command
docker images
.
$ docker images
- Identify the image you want to retag, and take note of its IMAGE ID.
REPOSITORY TAG IMAGE ID CREATED SIZE
my-image latest 0d120b6ccaae 3 weeks ago 122MB
- Use the
docker tag
command to retag the image. ReplaceIMAGE_ID
with the ID of the image you want to retag andNEW_TAG_NAME
with the new tag name you want to assign to the image.
$ docker tag IMAGE_ID NEW_TAG_NAME
- For example, to retag the image
my-image
with ID0d120b6ccaae
tomy-image:v2
, you would run the following command:
$ docker tag 0d120b6ccaae my-image:v2
- Verify that the tag has been changed by listing the images again.
$ docker images
You should see the image with its new tag listed.
Hi @CircadianSound, first, you have to differentiate between two things:
- The toolchain version
- The Rack SDK version
The toolchain version is equivalent to the Docker image version and it is defined in the Makefile. The toolchain version represents the state of the toolchain components, for example compiler versions.
The Rack SDK version is independent of the toolchain version. The toolchain can remain at one version while the Rack SDK can be updated independently of the toolchain.
If the toolchain updates, i.e. the toolchain version is incremented in the Makefile, you generally should rebuild the toolchain, which will result in an updated Docker image tagged with the toolchain version. The Makefile will then use the new Docker image for the plugin builds.
To update your build environment to the latest tested Rack SDK, you can run the following commands:
make rack-sdk-clean
make rack-sdk-all
This will download the latest Rack SDK as defined in the Makefile without having to rebuild the Docker image.
The Makefile defines both the latest Rack SDK and the toolchain version. Depending on which version updates if you pull a new version of the repository, you have to understand, which process to execute. However, if you rebuild the toolchain image, the Rack SDK will be updated as well. Therefore, if you are unsure what to do, rebuild the Docker image.
Note that you can do what you did, which is retag the old toolchain Docker image with the new toolchain version and make it match the Makefile. However, if the toolchain version updates, it is recommended to rebuild the toolchain. Proceed at your own risk.
Hi @cschol, thank you for replying here with this information to consider.
After pulling the latest toolchain, cleaning out the SDKs and making them update to 2.5.2, I tried to build my plugin. That’s when I ran into a snag. I wasn’t sure what to do, and made a leap of logic based on the error message. You’re saying it’s recommended to build the toolchain again, but retagging the docker image with the updated toolchain version is fine, albeit risky.
If it’s building properly at the moment, do you think I’m fine over here? I rather not run the lengthy process again if I don’t have to, unless you highly advise against what I did. If I encounter build failures along the way, or experience anything else unexpected, at least I’ll now know that the retagging might be the culprit. This thread has helped me a lot with getting this far, and I don’t want to undermine good advice. In the future I may just have to do this, and rebuild the toolchain. I appreciate the warning to be careful here, and consider your recommendations. Are there any other risk factors that I should consider here for next time?
A question though. In the meantime, is it safe to delete the docker image for the toolchain that’s tagged as 12, and keep the more current image that’s tagged as 15? Just to keep things clean and not have two docker images for the toolchain?
Thanks again Christoph, I appreciate all the help you’ve provided so far