Docker
चेकपॉइंट और रिस्टोर कंटेनर
खोज…
चौकी के साथ संकलक और सक्षम (ubuntu) पुनर्स्थापित करें
डॉकटर को संकलित करने के लिए आपके पास कम से कम 2 जीबी रैम है । इसके साथ भी यह कभी-कभी विफल हो जाता है इसलिए इसके बजाय 4GB के लिए जाना बेहतर होता है।
सुनिश्चित करें कि गिट और मेक स्थापित किया गया है
sudo apt-get install make git-core -y
एक नया कर्नेल स्थापित करें (कम से कम 4.2)
sudo apt-get install linux-generic-lts-xenial
नए कर्नेल को सक्रिय करने के लिए रिबूट मशीन
sudo reboot
संकलित
criu
जोcriu
docker checkpoint
चलाने के लिए आवश्यक हैsudo apt-get install libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler protobuf-compiler python-protobuf libnl-3-dev libcap-dev -y wget http://download.openvz.org/criu/criu-2.4.tar.bz2 -O - | tar -xj cd criu-2.4 make make install-lib make install-criu
जाँच करें कि क्या क्रिउ को चलाने के लिए हर आवश्यकता पूरी होती है
sudo criu check
संकलित प्रायोगिक docker (हम docker संकलन करने के लिए docker की आवश्यकता है)
cd ~ wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker $(whoami)
इस बिंदु पर हमें लॉगऑफ़ करना होगा और फिर से डॉकटर डेमॉन के लिए लॉगिन करना होगा। संकलन चरण के साथ जारी रखने के बाद
git clone https://github.com/boucher/docker cd docker git checkout docker-checkpoint-restore make #that will take some time - drink a coffee DOCKER_EXPERIMENTAL=1 make binary
अब हमारे पास एक संकलित कर्ता है। बायनेरिज़ को ले जाने दें। स्थापित संस्करण के साथ
<version>
को बदलना सुनिश्चित करेंsudo service docker stop sudo cp $(which docker) $(which docker)_ ; sudo cp ./bundles/latest/binary-client/docker-<version>-dev $(which docker) sudo cp $(which docker-containerd) $(which docker-containerd)_ ; sudo cp ./bundles/latest/binary-daemon/docker-containerd $(which docker-containerd) sudo cp $(which docker-containerd-ctr) $(which docker-containerd-ctr)_ ; sudo cp ./bundles/latest/binary-daemon/docker-containerd-ctr $(which docker-containerd-ctr) sudo cp $(which docker-containerd-shim) $(which docker-containerd-shim)_ ; sudo cp ./bundles/latest/binary-daemon/docker-containerd-shim $(which docker-containerd-shim) sudo cp $(which dockerd) $(which dockerd)_ ; sudo cp ./bundles/latest/binary-daemon/dockerd $(which dockerd) sudo cp $(which docker-runc) $(which docker-runc)_ ; sudo cp ./bundles/latest/binary-daemon/docker-runc $(which docker-runc) sudo service docker start
चिंता मत करो - हम पुराने बायनेरिज़ का समर्थन करते हैं। वे अभी भी वहाँ हैं, लेकिन इसके नाम ( docker_
) में एक अंडरस्कोर जोड़ा गया है।
बधाई हो अब आपके पास एक प्रयोगात्मक डॉकटर है जो एक कंटेनर की जांच करने और इसे पुनर्स्थापित करने की क्षमता के साथ है।
कृपया ध्यान दें कि प्रयोगात्मक सुविधाएँ उत्पादन के लिए तैयार नहीं हैं
चेकपॉइंट और एक कंटेनर पुनर्स्थापित करें
# create docker container
export cid=$(docker run -d --security-opt seccomp:unconfined busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done')
# container is started and prints a number every second
# display the output with
docker logs $cid
# checkpoint the container
docker checkpoint create $cid checkpointname
# container is not running anymore
docker np
# lets pass some time to make sure
# resume container
docker start $cid --checkpoint=checkpointname
# print logs again
docker logs $cid