4 title: Migrating from Docker 1.9
7 Copyright (C) The Arvados Authors. All rights reserved.
9 SPDX-License-Identifier: CC-BY-SA-3.0
12 If you have an existing Arvados installation using Docker 1.9 and wish to update to Docker 1.10+, you must migrate the Docker images stored in Keep.
14 The @arv-migrate-docker19@ tool converts Docker images stored in Arvados from image format v1 (Docker <= 1.9) to image format v2 (Docker >= 1.10).
16 Requires Docker running on the local host (can be either 1.9 or 1.10+). Linux kernel >= 3.18-rc6 to support overlayfs.
20 # Install arvados/migrate-docker19 image: @docker pull arvados/migrate-docker19:1.0@. If you're unable to do this, you can run @arvados/docker/migrate-docker19/build.sh@ to create @arvados/migrate-docker19@ Docker image.
21 # Make sure you have the right modules installed: @sudo modprobe overlayfs bridge br_netfilter nf_nat@
22 # Set ARVADOS_API_HOST and ARVADOS_API_TOKEN to the cluster you want to migrate.
23 # Your temporary directory should have the size of all layers of the biggest image in the cluster, this is hard to estimate, but you can start with five times that size. You can set up a different directory by using the @--tempdir@ switch. Make sure that the user running the docker daemon has permissions to write in that directory.
24 # Run @arv-migrate-docker19 --dry-run@ from the Arvados Python SDK on the host (not in a container). This will print out some information useful for the migration.
25 # Finally to make the migration run @arv-migrate-docker19@ from the Arvados Python SDK on the host (not in a container).
27 This will query Arvados for v1 format Docker images. For each image that does not already have a corresponding v2 format image (as indicated by a docker_image_migration tag) it will perform the following process:
29 i) download the image from Arvados
30 ii) load it into Docker
31 iii) update the Docker version, which updates the image
32 iv) save the v2 format image and upload to Arvados
33 v) create a migration link
35 Once the Docker images in Keep have been migrated, upgrade the version of Docker used across the cluster. Finally, update the API server configuration from "v1" to "v2" to reflect the supported Docker image version:
38 docker_image_formats: ["v2"]