Изтеглих изображение на Дженкинс и го стартирах. След това направих някаква конфигурация на този контейнер. Сега искам да запазя цялата си конфигурация в ново изображение. По-долу е командата, която използвах:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f214096e4847 jenkins "/bin/tini -- /usr/lo" About an hour ago Up 1 seconds 50000/tcp, 0.0.0.0:8081->8080/tcp ci
От изхода по-горе можете да видите, че контейнерът на jenkins f214096e4847 работи.
Сега използвам командата по-долу, за да ангажирам промените си и да създам ново изображение:
$ docker commit f214096e4847 my_ci/1.0
sha256:d83801a700c4060326a5209b87281bfb0e93f46207d960038ba2d87628ddb90c
След това спирам текущия контейнер и стартирам нов контейнер от my_ci/1.0 изображение:
$ docker stop f214096e4847 f214096e4847 $ docker run -d --name myci -p 8081:8080 my_ci/1.0 aba1660be200291d499bf00d851a854c724193c0ee2afb3fd318c36320b7637e
Но новият контейнер не включва никакви промени, които направих. Изглежда, че контейнер е създаден от оригинално изображение на Jenkins. Как да запазя данните си, когато използвам докер ангажимент?
РЕДАКТИРАНЕ1
Знам, че мога да добавя том, за да запазя конфигурационните данни, както е показано по-долу:
-v my_path:/var/jenkins_home
Но наистина искам да го запазя в докер изображението. Така че потребителите не трябва да предоставят конфигурацията от своя хост.
-v my_path:/var/jenkins_home
- person Amityo   schedule 13.12.2016