Comments (4)
You may need to add a --docker-cfg ~/.docker/config.json
flag before the push
command so it should call ecr-login properly. Also, are you running the manifest-tool
binary locally or are you using the official docker image mplatform/manifest-tool:alpine
?
Check this working example from one of my Gitlab repos that was set earlier today.
build:docker-merge-tags:
stage: build
image:
name: mplatform/manifest-tool:alpine
entrypoint: ["/bin/sh"]
parallel:
matrix:
- VARIANT: [gpu, cpu]
needs:
- job: build:docker
optional: true
script:
- echo "{\"credsStore\":\"ecr-login\"}" > config.json
- ARCH="linux/amd64"
- if [[ "${VARIANT}" == "gpu" ]]; then ARCH="$ARCH,linux/arm64"; fi
- manifest-tool --docker-cfg config.json push from-args --platforms "${ARCH}"
--template ${DOCKER_REGISTRY_URL}/${VAR_DOCKER_IMAGE}-${VARIANT}:ARCH-${RELEASE}
--target ${DOCKER_REGISTRY_URL}/${VAR_DOCKER_IMAGE}-${VARIANT}:${RELEASE}
- manifest-tool --docker-cfg config.json inspect ${DOCKER_REGISTRY_URL}/${VAR_DOCKER_IMAGE}-${VARIANT}:${RELEASE}
<<: *docker-rules
Please assume that both AWS_ACCESS_ID and AWS_SECRET_ACCESS_KEY are provided as environment variables to this example.
from manifest-tool.
from manifest-tool.
@joaopaulosr95 Thanks, but I already read the post.
I think since docker cred helper
is installed in manifest-tool
container image, my configuration should work and it doesn't.
from manifest-tool.
You may need to add a
--docker-cfg ~/.docker/config.json
flag before thepush
command so it should call ecr-login properly. Also, are you running themanifest-tool
binary locally or are you using the official docker imagemplatform/manifest-tool:alpine
?
lol what I missed that I thought root directory for the container runner user would be root
, so the ~/.docker/config.json
would be same as /root/.docker/config.json
I mounted it to /root/.docker/config.json
as default location, now it works.
Also I adding --docker-cfg ~/.docker/config.json
works.
Thanks @joaopaulosr95
from manifest-tool.
Related Issues (20)
- Reword error about image mismatch
- Provide a way to add a tag to an existing image HOT 2
- Push support for types.OCI HOT 5
- FR: add `ocify` to convert between OCI and Docker mediaTypes
- unsupported os/arch or os/arch/variant combination: linux/amd64/v8 HOT 5
- `invalid character 'c' looking for beginning of value ` HOT 1
- Nexus Docker Registry not support. HOT 2
- Error pushing manifest list/index HOT 8
- Image doesnt include docker-credential-ecr-login for AWS credential helper HOT 4
- Cannot include an image in a manifest list/index which is already a multi-platform image HOT 6
- New release for Golang CVE HOT 9
- Scope issue on push with multiple sub-repositories in GCR HOT 10
- [request] Support cred helpers in the mplatform/manifest-tool container HOT 5
- [feature request] allow to display OCI image manifest HOT 1
- --raw flag doesn't show the same data as non-raw output HOT 2
- I
- manifest-tool can't merge images with buildit attestation enabled: Cannot include an image in a manifest list/index which is already a multi-platform image HOT 3
- github.com/docker/docker/cli/config no longer exists, but is used by v2/cmd/manifest-tool/main.go HOT 2
- `manifest-tool -v` return 2.1.2 on instead 2.1.3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from manifest-tool.