Line 11: |
Line 11: |
| Docker daemon. After checkpoint, the Docker daemon thinks that the | | Docker daemon. After checkpoint, the Docker daemon thinks that the |
| container has exited. After restore, the Docker daemon doesn't know that | | container has exited. After restore, the Docker daemon doesn't know that |
− | the container is running again. Therefore, commands such as ''docker ps'' | + | the container is running again. Therefore, commands such as |
− | and ''docker logs'' will not work correctly. | + | === <code>docker ps, stop, kill</code> === and === <code>logs</code> === |
| + | will not work correctly. |
| | | |
| External C/R was done as a proof-of-concept. | | External C/R was done as a proof-of-concept. |
| | | |
− | '''Native C/R''' using ''docker checkpoint'' and ''docker restore'' commands. | + | '''Native C/R''' using the newly added === <code>docker checkpoint</code> === and |
| + | === <code>docker restore</code> === commands. |
| | | |
| Because the Docker daemon is involved in both checkpoint and restore, | | Because the Docker daemon is involved in both checkpoint and restore, |
− | its notion of the container state will be consistent and commands such as | + | its notion of the container state will be consistent and all commands such as |
− | ''docker ps'' and ''docker logs'' will work.
| + | === <code>docker ps, stop, kill </code> === and === <code>logs</code> === |
| + | will work. |
| + | This is obviously the preferred method of checkpointing and restoring Docker containers. |
| | | |
| Native C/R is work in progress, say pre-alpha quality. You can | | Native C/R is work in progress, say pre-alpha quality. You can |
Line 28: |
Line 32: |
| [https://github.com/SaiedKazemi/docker/tree/cr repo]. | | [https://github.com/SaiedKazemi/docker/tree/cr repo]. |
| Work in underway to integrate C/R into the new libcontainer. | | Work in underway to integrate C/R into the new libcontainer. |
| + | |
| + | For native C/R support, additional functionality was added to CRIU. |
| + | The most notable addition is the === <code>--inherit-fd</code> === |
| + | command line option. |
| | | |
| == External C/R == | | == External C/R == |