Загрузите данные с хоста в Docker-контейнер и выполните обратную запись на хост при выходе. Загрузка и сохранение данных между хостом и контейнером - PullRequest
1 голос
/ 14 октября 2019

Мое требование - создать образ докера, используя данные в каталоге хоста. И когда я запускаю контейнер, данные, полученные в контейнере, должны быть скопированы обратно в каталог хоста. Проще говоря, постоянство данных.

Вот как я собираю и запускаю контейнер (это работает):

Сборка и создание Docker, запускает контейнер с данными в расположении хоста (все в порядке)

#!/bin/bash
sudo docker build -t myimage:latest . && > /dev/null
sudo docker create -p 8080:8080 -v host/data/location:/etc/container/data/location --name mycontainer myimage:latest && > /dev/null

Запустить контейнер и скопировать данные обратно на хост для постоянного хранения.

#!/bin/bash
#start container
sudo docker start mycontainer && > /dev/null

#copy data on exit 
sudo docker cp mycontainer:/etc/container/data/location/. `pwd`/host/data/location/ && > /dev/null

Я знаю, что лучший способ - это подключить тома, но при копировании данных обратно на хост он не удалсяиз контейнера. И я хочу избавиться от шага копирования.

Это должно работать,

docker create -p 8080:8080 -v /host/data/location:/etc/container/data/location --name mycontainer myimage:latest 

, но это не так! Может кто-нибудь сказать причину?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...