I'm running Docker Desktop for Mac (v4.4.2), part of the deployment script of the company, it needs to use octopus and the Docker image for it is not available for the Apple M1 platform according to the error message:
Unable to find image 'octopusdeploy/octo:latest' locally
latest: Pulling from octopusdeploy/octo
/usr/bin/docker: no matching manifest for linux/arm64/v8 in the manifest list entries.
I've also tried to manually download the latest image and manually update the tag to match 'octopusdeploy/octo:latest' but encountered many other issues, most importantly, the build artifact was not what our devops engineer expected.
I understand there is no straight answer to this as it's not officially supported. Any pointers for direction is greatly appreciated
Here is the source code for the octo docker images, they dont have any tags matching with linux/arm64/v8, so you might have to build your self (Dockerfile) and publish somewhere.
Related
I am building a quarkus (Keycloak 18) based container on the following way:
Start a container from this image quay.io/keycloak/keycloak:18.0.0
Fill the running container with state (users, roles, clients using terraform)
Commit the running container with docker commit running-container my-filled-keycloak-image
The whole process is running in a Github action pipeline
The image can be used on a regular basis and runs quite normal. Only users of an Apple M1 seem to have problem with this image. In most cases starting a container simply gets stuck and hangs until a docker timeout occurs. Sometimes the container is able to start, but on very low performance and very slow.
The problem seems to be related to the Apple M1 architecture and up to now we do not have an idea how to fix this. Any help on this is greatly appreciated.
It looks like you are building images on your CI, which is running on amd64 (Intel) architecture. Unfortunately, this architecture is not natively supported on M1, which uses arm64. So your users with M1 use emulation (search Rosetta, which is not a perfect). The better option is to build multiarch image (image, which contains amd64,arm64,... architectures), so users will use native architecture on their machines.
There is a lot of resources how to build multiarch (multiplatform) Docker images. Random one: https://jitsu.com/blog/multi-platform-docker-builds
I am trying to setup a docker image for an mvc5 website to deploy to my service fabric Windows server 2016 with containers based cluster.
It seems that every image with IIS configured is based on a different windows build than 14393, and when I deploy those to service fabric they fail to start on my windows servers.
Am I missing something here? Does it matter what server the dockerfile runs on? So far is seems impossible to get a simple site up and running in a docker container on my service fabric cluster. I spent over a day with microsoft/windowsservercore and it just won't work, and there seems to be no way to enable failed request tracing on it because attempting to install Web-Server with all submodules fails.
If you go to docker registry, find the image, and navigate to the TAGS tab, you can find all image versions and the respective build.
For ASPNET MVC, the image microsoft/aspnet with tag 4.7.1-windowsservercore-10.0.14393.1884 is probably the one you need.
For IIS image, the image microsoft/iis with tag windowsservercore-10.0.14393.1944 might be suitable for you, you might have to add the missing packages for your application.
The problem is likely you trying to use the latest image, that won't be compatible. In your docker image, when you create the docker file,
Instead of using FROM microsoft/aspnet
you should use FROM microsoft/aspnet:4.7.1-windowsservercore-10.0.14393.1884
with the image tag after the name, otherwise you will use the latest version, that is not always compatible and should be avoided
I've created the Docker files described in the Getting Started documentation. The build step is failing as below:
PS > docker build -t friendly-hello .
Sending build context to Docker daemon 60.93kB
Step 1/7 : FROM python:2.7-slim
2.7-slim: Pulling from library/python
no matching manifest for windows/amd64 in the manifest list entries
I suspect it's because I'm working with Windows containers and the documentation hasn't been updated to include this.
How do I go about correcting this error?
The solution is probably obvious to anyone why used Docker regularly, however, for any newbies like me here's the cause of the error and the solution.
I'm using Windows containers, rather than Linux ones which the documentation was for.
# Use an official Python runtime as a parent image
FROM python:2.7-slim
This is telling Docker that there's a dependency on an image in the Docker hub called python and tagged 2.7-slim. You can find the by browsing to https://hub.docker.com and searching for python. Clicking on the python will take you to the python repository page.
The information on the tag doesn't make it obvious which tags support which architectures, however some have windowsservercore in their tag name which suggests quite strongly that these support windows.
Changing the line requesting python:2-7-slim to python:2.7.15-windowsservercore solves the problem i.e.:
FROM python:2.7.15-windowsservercore
I'm trying to download a tagged docker image
docker pull clkao/postgres-plv8:10-2
and, in a compose file,
postgres:
image: clkao/postgres-plv8:10-2
But receive a manifest not found exception.
Unless I'm mistaken, that tag exists in Docker Hub, however I notice that it doesn't appear on the tags list.
Am I doing something wrong? Or is this perhaps an issue with Docker Hub or the way that repo has been set up?
If it isn't 'my fault', what's a recommendation to move forward? Create my own Dockerfile perhaps?
You might also try
docker pull -a <image>.
The -a will pull all versions of that image, which at least lets you know what is there.
(This is less useful if you really need a specific version, but helped me when I tried to pull an image that for some reason did not have a 'latest' tag.)
Edit: This is actually a really bad idea, since it will pull down the entire history, which for many repositories could be many GB. Better to go look at the repository site and see what tag you want. Note to self: don't post answers when you are tired. :-(
You get the error message because there exist no tag with "10-2".
You can try to figure out why and contact the repository owner or you can try to build your own one.
I just got over this "manifest for / not found: manifest unknown: The named manifest is not known to the registry."
Using
docker login <repo>
Check the docker's image also not only that the tag exists, I was trying to run Flyway version 5.0.1 for an image flyway/flyway which version did not exist, it existed only in version flyway/flyway:latest it seems, whereas 5.0.1 existed and I pulled it but in/from a different repository name, with repository name boxfuse/flyway.
for the error message 'docker manifest unknown'
When you use docker pull, without a tag, it will default to the tag :latest. Make sure that when we are building a image add tag latest or we can access the image by the tag name after image name with colon
I think you are trying to tag your image as v8.10.2. Make sure while tagging image locally you use same tag which you want to pull in future. So steps will be like below:
docker build -t clkao/postgres-pl:v8.10.2 .
docker push clkao/postgres-pl:v8.10.2
docker pull clkao/postgres-pl:v8.10.2
If this is from Git via docker.pkg.github.com then you need to switch to use ghcr.io. The former is deprecated and does not support the manifest endpoint so some docker clients, when they attempt to download various resources, fail with this error message. If you instead publish your image to ghcr (Github Container Repository), the docker image pulling process should complete successfully.
cd <dir with Dockerfile in it>
docker build -f Dockerfile -t ghcr.io/<org_id>/<project_id>:<version> .
docker push ghcr.io/<org_id>/<project_id>:<version>
More info here: https://docs.github.com/en/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry
Note: The Container registry is currently in public beta and subject
to change. During the beta, storage and bandwidth are free. To use the
Container registry, you must enable the feature preview. For more
information, see "Introduction to GitHub Packages" and "Enabling
improved container support with the Container registry."
I'm trying to run the docker pull ibmblockchain/fabric-peer command, but I'm getting this error message:
Error response from daemon: manifest for ibmblockchain/fabric-peer:latest not found.
Is there any other way to pull this image ? Also trying to pull another images but get same error message.
As you can see on below link the tag is not available
https://hub.docker.com/r/ibmblockchain/fabric-peer/tags/
You should use 1.0.1
docker pull ibmblockchain/fabric-peer:1.0.1
If you're not specifying the tag then docker will download the latest tag by default.
This error may occur if the latest tag is not attached to the latest version of the image.
To solve the problem
Visit https://hub.docker.com/ and search your image.
Find the latest tag and copy
Pull image with the tag.
Example:
To install Jenkins, instead of running
docker pull jenkins
I would do
docker pull jenkins:2.60.3
Thanks
I got the same error message when I tried to pull the image from hub.docker.com. Not this image but another. This error was related with the tag version. In my case, I push the V0.6 version and I was trying pull v0.6 version. Note that I used the upper case to write the "V" and I was trying the lower case "v". So, the tag image is really not found.
I hope this help anyone.
I recently ran into this problem on windows, and realised it was because I had my docker daemon running Windows containers, this meant that the host architecture isn't a match for the architecture tags on most images. Once I switched to Linux containers all started working again.
i was also facing the same issue. Tarun's answer is correct. All you have to do is
open docker-compose.yml file and add hyperledger/fabric-peer:x86_64-1.0.2 or whichever you are pulling.
close the file and run the docker-compose up command.
This means the image that you are trying to pull does not exist, check the image tag or the URL that you are specifying.