Multiple architectures Portainer images that work with Docker Swarm (swarmkit)
413
Portainer images which manifests contain the correct OS and architecture to be used directly in Docker Swarm stacks, including on Raspberry Pi without the need to use a special tag and to use the option to ignore the platform.
For example in a docker-compose.yml:
version: '3.7'
services:
portainer:
image: vitkin/portainer:1.24.0
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
- type: volume
source: portainer-data
target: /data
command:
- "-H"
- "unix:///var/run/docker.sock"
ports:
- published: 9000
target: 9000
protocol: tcp
mode: host
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
placement:
constraints:
- node.role==manager
volumes:
portainer-data:
Enable the experimental feature for docker-cli by adding "experimental": "enabled" to ~/.docker/config.json.
Run the following commands:
version=1.24.0
repo=vitkin/portainer
function manifest_create {
eval "docker manifest create ${repo}:${version} portainer/portainer:{$1}-${version}"
}
function manifest_annotate {
docker manifest annotate --os $1 --arch $2 ${repo}:${version} portainer/portainer:$1-$2-${version}
}
function manifest_push {
docker manifest push -p ${repo}:${version}
}
manifest_create linux-amd64,linux-arm,linux-arm64,linux-ppc64le,linux-s390x,windows-amd64
for arch in amd64 arm arm64 ppc64le s390x; do
manifest_annotate linux ${arch}
done
manifest_annotate windows amd64
manifest_push
version=${version}-alpine
manifest_create linux-amd64,linux-arm,linux-arm64
for arch in amd64 arm arm64; do
manifest_annotate linux ${arch}
done
manifest_push
Content type
Image
Digest
Size
22.9 MB
Last updated
over 5 years ago
docker pull vitkin/portainer