{"id":40515,"date":"2023-09-28T02:55:46","date_gmt":"2023-09-28T02:55:46","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=40515"},"modified":"2023-09-28T02:55:48","modified_gmt":"2023-09-28T02:55:48","slug":"list-of-commands-example-for-working-with-containerd-using-ctr","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/list-of-commands-example-for-working-with-containerd-using-ctr\/","title":{"rendered":"List of Commands example for working with containerd using ctr"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">Here is a list <span class=\"hljs-keyword\">of<\/span> command examples <span class=\"hljs-keyword\">for<\/span> working <span class=\"hljs-keyword\">with<\/span> containerd using ctr:\r\n\r\nList all images:\r\n$ ctr image ls\r\n\nPull an image:\r\n$ ctr image pull docker.io\/library\/nginx:latest\r\n\nRun a container:\r\n$ ctr run docker.io\/library\/nginx:latest\r\n\nAttach a shell to a running container:\r\n$ ctr exec -it my-container sh\r\n\nStop a running container:\r\n$ ctr stop my-container\r\n\nRemove a container:\r\n$ ctr rm my-container\r\n\nRemove an image:\r\n$ ctr image rm docker.io\/library\/nginx:latest\r\n\nHere are some more advanced command examples:\r\n\r\nInspect an image:\r\n$ ctr image inspect docker.io\/library\/nginx:latest\r\n\nCreate a snapshot <span class=\"hljs-keyword\">of<\/span> a container:\r\n$ ctr snapshot create my-container my-snapshot\r\n\nRestore a container <span class=\"hljs-keyword\">from<\/span> a snapshot:\r\n$ ctr snapshot restore my-snapshot my-<span class=\"hljs-keyword\">new<\/span>-container\r\n\nExport an image to a file:\r\n$ ctr image <span class=\"hljs-keyword\">export<\/span> docker.io\/library\/nginx:latest my-image.tar\r\n\nImport an image <span class=\"hljs-keyword\">from<\/span> a file:\r\n$ ctr image <span class=\"hljs-keyword\">import<\/span> my-image.tar\r\n\nStart a container <span class=\"hljs-keyword\">with<\/span> a specific network:\r\n$ ctr run --network bridge docker.io\/library\/nginx:latest\r\n\nStart a container <span class=\"hljs-keyword\">with<\/span> a specific volume mount:\r\n$ ctr run --mount type=bind,source=<span class=\"hljs-regexp\">\/host\/<\/span>path,target=<span class=\"hljs-regexp\">\/container\/<\/span>path docker.io\/library\/nginx:latest\r\n\nYou can also use ctr to work <span class=\"hljs-keyword\">with<\/span> namespaces. For example, you can list all namespaces using the following command:\r\n\r$ ctr namespace ls\r\n\nAnd you can create a <span class=\"hljs-keyword\">new<\/span> namespace using the following command:\r\n\r\n$ ctr namespace create my-namespace\r\n\nOnce you have created a namespace, you can start containers <span class=\"hljs-keyword\">in<\/span> that namespace using the -n flag. For example, the following command will start a container <span class=\"hljs-keyword\">in<\/span> the my-namespace namespace:\r\n\r\n$ ctr run -n my-namespace docker.io\/library\/nginx:latest<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-40515","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/40515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=40515"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/40515\/revisions"}],"predecessor-version":[{"id":40516,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/40515\/revisions\/40516"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=40515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=40515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=40515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}