Имеется Docker контейнер с Jenkins на EC2 в Китае, необходимо обновить версию Jenkins.
Что бы не тянуть весь образ напрямую в Китай (скорость иногда падала до 3-4 кб/с) — можно скачать его на рабочую машину в Киеве, а потом скопировать архив в Китай с помощью scp
.
Используем docker save
для создания архива с образом и docker load
— для его загрузки в хранилище Docker на хосте в Китае.
Загружаем образ к себе:
docker pull jenkins
Создаём архив с содержимым образа:
docker save -o /home/setevoy/jenkins_2_7.tar jenkins
Копируем его на EC2 в Китай:
scp -i .ssh/tag-cn.pem jenkins_2_7.tar ubuntu@build.tagheuerconnected.tagheuer.cn:/home/ubuntu
Проверяем:
root@ip-10-0-0-235:~# ls -lh jenkins_2_7.tar
-rw------- 1 ubuntu ubuntu 795M Nov 21 14:41 jenkins_2_7.tar
И импортируем образ:
root@ip-10-0-0-235:~# docker load -i jenkins_2_7.tar
a75caa09eb1f: Loading layer [==================================================>] 105MB/105MB
...
252403d25a1f: Loading layer [==================================================>] 10.75kB/10.75kB
The image jenkins:latest already exists, renaming the old one with ID sha256:df5bba7c222b6afb99907c184b127ac575854d288384369713f42d1db7238550 to empty string
Loaded image: jenkins:latest
Проверяем:
root@ip-10-0-0-235:~# docker images | grep jenkins
jenkins latest 3f08dc4f3f5d 2 weeks ago 809MB
Перезапускаем Jenkins стек:
docker-compose down
docker-compose up -d
Проверяем:
Готово.