{"id":383,"date":"2015-11-11T15:50:17","date_gmt":"2015-11-11T15:50:17","guid":{"rendered":"http:\/\/onlinelab.info\/?p=383"},"modified":"2015-11-11T15:50:17","modified_gmt":"2015-11-11T15:50:17","slug":"docker-part-2-cau-truc-va-quy-trinh-hoat-dong-cua-docker","status":"publish","type":"post","link":"https:\/\/www.asianux.org.vn\/index.php\/2015\/11\/11\/docker-part-2-cau-truc-va-quy-trinh-hoat-dong-cua-docker\/","title":{"rendered":"[Docker] \u2013 Part 2 \u2013 C\u1ea5u tr\u00fac v\u00e0 quy tr\u00ecnh ho\u1ea1t \u0111\u1ed9ng c\u1ee7a Docker."},"content":{"rendered":"<h2>1, \u0110\u1eb7t v\u1ea5n \u0111\u1ec1<\/h2>\n<p>\u1ede ph\u1ea7n 1\u00a0m\u00ecnh v\u00e0 c\u00e1c b\u1ea1n \u0111\u00e3 c\u00f9ng c\u00f3 c\u00e1i nh\u00ecn t\u1ed5ng quan nh\u1ea5t v\u1ec1 Docker. Ti\u1ebfp t\u1ee5c lo\u1ea1t b\u00e0i v\u1ec1 Docker, m\u00ecnh v\u00e0 c\u00e1c b\u1ea1n s\u1ebd c\u00f9ng t\u00ecm hi\u1ec3u v\u1ec1 c\u1ea5u tr\u00fac v\u00e0 ho\u1ea1t \u0111\u1ed9ng c\u1ee7a Docker.<\/p>\n<p>Trong b\u00e0i vi\u1ebft n\u00e0y ch\u00fang ta s\u1ebd c\u00f9ng tr\u1ea3 l\u1eddi nh\u1eefng c\u00e2u h\u1ecfi nh\u01b0:<\/p>\n<ul>\n<li>Docker g\u1ed3m nh\u1eefng th\u00e0nh ph\u1ea7n n\u00e0o ?<\/li>\n<li>C\u00e1c th\u00e0nh ph\u1ea7n trong Docker t\u01b0\u01a1ng t\u00e1c v\u1edbi nhau nh\u01b0 th\u1ebf n\u00e0o ?<\/li>\n<li>Ho\u1ea1t \u0111\u1ed9ng c\u1ee7a Docker ra sao ?<\/li>\n<li>Docker kh\u1edfi ch\u1ea1y nh\u1eefng \u1ee9ng d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o ?<\/li>\n<li>\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026.<\/li>\n<\/ul>\n<h2>2, C\u1ea5u t\u1ea1o c\u1ee7a Docker<\/h2>\n<p><a href=\"https:\/\/luanbn.files.wordpress.com\/2015\/08\/docker-diagram.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-121 aligncenter\" src=\"https:\/\/luanbn.files.wordpress.com\/2015\/08\/docker-diagram.png?w=508&amp;h=334\" alt=\"docker-diagram\" width=\"508\" height=\"334\" title=\"\"><\/a><\/p>\n<p>Nh\u01b0 trong h\u00ecnh , Docker \u0111\u00f3ng g\u00f3i c\u00e1c \u1ee9ng d\u1ee5ng c\u00f9ng th\u01b0 vi\u1ec7n \u0111i k\u00e8m v\u1edbi n\u00f3 th\u00e0nh c\u00e1c Docker Container. D\u01b0\u1edbi d\u1ef1 h\u1ed7 tr\u1ee3 c\u1ee7a Docker Engine, c\u00e1c Container n\u00e0y c\u00f3 th\u1ec3 l\u1ea5y \u0111\u01b0\u1ee3c t\u00e0i nguy\u00ean t\u1eeb ph\u1ea7n c\u1ee9ng v\u00e0 kh\u1edfi ch\u1ea1y c\u00e1c \u1ee9ng d\u1ee5ng trong c\u00e1c Container.<\/p>\n<h2>3, \u01afu \u0111i\u1ec3m h\u00ecnh th\u1ee9c \u0111\u00f3ng g\u00f3i th\u00e0nh Container.<\/h2>\n<p>Vi\u1ec7c \u0111\u00f3ng g\u00f3i th\u00e0nh c\u00e1c container n\u00e0y c\u00f3 th\u1ec3 gi\u1ea3i quy\u1ebft \u0111\u01b0\u1ee3c nhi\u1ec1u v\u1ea5n \u0111\u1ec1 m\u00e0 ta ch\u01b0a \u0111\u1ec1 c\u1eadp t\u1edbi.<\/p>\n<ul>\n<li>V\u00ed d\u1ee5 nh\u01b0 tr\u01b0\u1edbc kia ta kh\u00f4ng th\u1ec3 d\u00f9ng chung Port, th\u00ec \u1edf \u0111\u00e2y 2 \u1ee9ng d\u1ee5ng v\u1edbi 2 container kh\u00e1c nhau. Ta c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh Port tr\u00f9ng nhau cho \u1ee9ng d\u1ee5ng n\u00e0y.<\/li>\n<li>Ti\u1ebfp theo l\u00e0 v\u1ec1 vi\u1ec7c qu\u1ea3n l\u00ed phi\u00ean b\u1ea3n. Ta kh\u00f3 c\u00f3 th\u1ec3 c\u00e0i 2 phi\u00ean b\u1ea3n c\u1ee7a \u00a01 ph\u1ea7n m\u1ec1m tr\u00ean c\u00f9ng 1 m\u00e1y hypervisor. Tuy nhi\u00ean v\u1edbi Container, ta c\u00f3 th\u1ec3 c\u00e0i m\u1ed7i phi\u00ean b\u1ea3n tr\u00ean 1 Container v\u00e0 ch\u1ea1y m\u1ed9t c\u00e1ch tr\u01a1n tru.<\/li>\n<li>Kh\u1ea3 n\u0103ng kh\u1edfi \u0111\u1ed9ng nhanh c\u1ee7a Docker c\u0169ng l\u00e0 m\u1ed9t l\u1ee3i th\u1ebf r\u1ea5t l\u1edbn.<\/li>\n<li>Ti\u1ebfp theo n\u00f3i v\u1ec1 t\u00e0i nguy\u00ean, Docker s\u1ebd ng\u1ed1n \u00edt t\u00e0i nguy\u00ean h\u01a1n c\u00e1c m\u00e1y hypervisor.<\/li>\n<li>\u2026\u2026\u2026\u2026\u2026\u2026.<\/li>\n<\/ul>\n<p>C\u00f2n c\u00f2n nhi\u1ec1u n\u1eefa nh\u1eefng \u01b0u \u0111i\u1ec3m, c\u00e1c b\u1ea1n h\u00e3y c\u00e0i \u0111\u1eb7t v\u00e0 tr\u1ea3i nghi\u1ec7m Docker \u0111\u1ec3 th\u1ea5y nh\u1eefng \u01b0u vi\u1ec7t c\u1ee7a n\u00f3 nh\u00e9.<\/p>\n<h2>4, Quy tr\u00ecnh th\u1ef1c thi\u00a0c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng s\u1eed d\u1ee5ng Docker.<\/h2>\n<p><a href=\"https:\/\/luanbn.files.wordpress.com\/2015\/08\/basics-of-docker-system.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-122 aligncenter\" src=\"https:\/\/luanbn.files.wordpress.com\/2015\/08\/basics-of-docker-system.png?w=675&amp;h=323\" alt=\"basics-of-docker-system\" width=\"675\" height=\"323\" title=\"\"><\/a><\/p>\n<p>Nh\u01b0 trong h\u00ecnh v\u1ebd, m\u1ed9t h\u1ec7 th\u1ed1ng Docker \u0111\u01b0\u1ee3c th\u1ef1c thi v\u1edbi 3 b\u01b0\u1edbc ch\u00ednh :<\/p>\n<blockquote><p>Build -&gt; Push -&gt; Pull,Run<\/p><\/blockquote>\n<p>M\u00ecnh s\u1ebd l\u1ea7n l\u01b0\u1ee3t tr\u00ecnh b\u00e0y t\u1eebng b\u01b0\u1edbc \u0111\u1ec3 ch\u00fang ta c\u00f3 th\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1 nguy\u00ean l\u00ed 3 b\u01b0\u1edbc n\u00e0y.<\/p>\n<h3>a, Build.<\/h3>\n<p>\u0110\u1ea7u ti\u00ean ch\u00fang ta s\u1ebd t\u1ea1o m\u1ed9t dockerfile, trong dockerfile n\u00e0y ch\u00ednh l\u00e0 code c\u1ee7a ch\u00fang ta.<\/p>\n<p>Dockerfile n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c Build t\u1ea1i m\u1ed9t m\u00e1y t\u00ednh \u0111\u00e3 c\u00e0i \u0111\u1eb7t Docker Engine.<\/p>\n<p>Sau khi build ta s\u1ebd thu \u0111\u01b0\u1ee3c Container, trong Container n\u00e0y ch\u1ee9a b\u1ed9 th\u01b0 vi\u1ec7n v\u00e0 \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta.<\/p>\n<h3>b, Push.<\/h3>\n<p>Sau khi c\u00f3 \u0111\u01b0\u1ee3c Container, ch\u00fang ta th\u1ef1c hi\u1ec7n push Container n\u00e0y l\u00ean \u0111\u00e1m m\u00e2y v\u00e0 l\u01b0u tr\u1eef \u1edf \u0111\u00f3.<\/p>\n<p>Vi\u1ec7c push n\u00e0y c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n qua m\u00f4i tr\u01b0\u1eddng m\u1ea1ng Internet.<\/p>\n<h3>c, Pull, Run<\/h3>\n<p>Gi\u1ea3 s\u1eed m\u1ed9t m\u00e1y t\u00ednh mu\u1ed1n s\u1eed d\u1ee5ng Container ch\u00fang ta \u0111\u00e3 push l\u00ean \u0111\u00e1m m\u00e2y (m\u00e1y \u0111\u00e3 c\u00e0i Docker Engine) th\u00ec b\u1eaft bu\u1ed9c m\u00e1y ph\u1ea3i th\u1ef1c hi\u1ec7n vi\u1ec7c Pull container n\u00e0y v\u1ec1 m\u00e1y. Sau \u0111\u00f3 th\u1ef1c hi\u1ec7n Run Container n\u00e0y.<\/p>\n<p>\u0110\u00f3 ch\u00ednh l\u00e0 quy tr\u00ecnh 3 b\u01b0\u1edbc mi\u00eau t\u1ea3 ho\u1ea1t \u0111\u1ed9ng c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng s\u1eed d\u1ee5ng Docker. R\u1ea5t \u0111\u01a1n gi\u1ea3n v\u00e0 r\u00f5 r\u00e0ng.<\/p>\n<p>Trong b\u00e0i k\u00ec t\u1edbi, ch\u00fang ta s\u1ebd c\u00f9ng c\u00e0i \u0111\u1eb7t v\u00e0 ch\u1ea1y Docker.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1, \u0110\u1eb7t v\u1ea5n \u0111\u1ec1 \u1ede ph\u1ea7n 1\u00a0m\u00ecnh v\u00e0 c\u00e1c b\u1ea1n \u0111\u00e3 c\u00f9ng c\u00f3 c\u00e1i nh\u00ecn t\u1ed5ng quan nh\u1ea5t v\u1ec1 Docker. Ti\u1ebfp t\u1ee5c lo\u1ea1t b\u00e0i v\u1ec1 Docker, m\u00ecnh v\u00e0 c\u00e1c b\u1ea1n s\u1ebd c\u00f9ng t\u00ecm hi\u1ec3u v\u1ec1&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-383","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":0,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/posts\/383\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/media?parent=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asianux.org.vn\/index.php\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}