Line 2: |
Line 2: |
| | | |
| == Background == | | == Background == |
| + | |
| + | 1. External C/R: Using CRIU directly on the command line as it's typically |
| + | done. This is called external because it's happening external to the |
| + | Docker daemon. After checkpoint, the Docker daemon thinks that the |
| + | container has exited. After restore, the Docker daemon doesn't know that |
| + | the container is running again. Therefore, commands such as ''docker ps'' |
| + | and ''docker logs'' will not work correctly. |
| + | |
| + | External C/R was done as a proof-of-concept. |
| + | |
| + | 2. Native C/R: Using ''docker checkpoint'' and ''docker restore'' commands. |
| + | Because the Docker daemon is involved in both checkpoint and restore, |
| + | its notion of the container state will be consistent and commands such as |
| + | ''docker ps'' and ''docker logs'' will work. |
| + | |
| + | Native C/R is work in progress, say pre-alpha quality. You can |
| + | watch this short demo |
| + | [https://www.youtube.com/watch?v=HFt9v6yqsXo video] |
| + | to see how it works. Source files for Docker 1.5 C/R is at this |
| + | [https://github.com/SaiedKazemi/docker/tree/cr repo]. |
| + | Work in underway to integrate C/R into the new libcontainer. |
| + | |
| + | == External C/R == |
| | | |
| Starting with CRIU 1.3, it's possible to checkpoint and restore a | | Starting with CRIU 1.3, it's possible to checkpoint and restore a |