>> [MUSIC CHƠI]
DAVID Malan: Tất cả các quyền.
Cảm ơn bạn rất nhiều vì đã đến.
Đây là hội thảo CS50 trên Docker, một công nghệ mà chúng ta và CS50
đã bắt đầu sử dụng một thời gian rồi.
Vì vậy, tôi tên là David Malan, tôi Giới thiệu dạy của Harvard
Khoa học Máy tính.
Cho khá một vài năm, chúng tôi đã đem lại cho sinh viên
tải client-side máy ảo
mà họ làm các vấn đề bộ của họ.
Mà bây giờ chúng tôi đã chuyển đến một môi trường đám mây
mà thực sự sử dụng công nghệ này gọi Docker, như vậy mà tất cả các CS50
học sinh bây giờ có họ container Docker riêng
rằng bạn sẽ sớm nghe tất cả về.
>> Hơn nữa, trên máy chủ của CS50 cụm phía, trong nhiều năm
chúng tôi đã sử dụng máy chủ đám mây của Amazon.
Chúng tôi đã chạy cá nhân máy ảo.
Điều đó quá, chúng tôi đã bắt đầu để chuyển đổi sang những điều được gọi là container Docker
để tất cả các ứng dụng của chúng tôi bây giờ là hoàn toàn cô lập với nhau.
Vì vậy, cho rằng nhiều, cho phép tôi giới thiệu bạn bè của chúng tôi, Nico và Mano,
từ Docker chính nó.
Nicola KABAR: Thanks, David.
Chào mọi người.
Tên tôi là Nico và đây là Mano.
Chúng tôi đến từ Docker.
Chúng tôi đang đi để được nói chuyện about-- cho các bạn một giới thiệu cho Docker,
và hy vọng, về phía cuối của bài nói chuyện này, bạn có thể nhận ra
có bao nhiêu bạn có thể sử dụng bác sĩ oxalate và phát triển ứng dụng của bạn
và triển khai.
>> Vì vậy, chúng ta sẽ bắt đầu thực nhanh chóng với một số thông tin cơ bản.
Mô tả những gì Docker là tất cả về.
Làm thế nào nó hoạt động?
Làm thế nào là nó có kiến ​​trúc?
Tôi sẽ làm một số bản demo.
Và Mano là có được mô tả làm thế nào bạn có thể sử dụng Docker
và đem lại cho bạn các bước cụ thể làm thế nào bạn có thể bắt đầu.
>> Tôi sẽ đánh giá cao nếu bạn guys có thể giữ off cho câu hỏi của bạn về phía cuối.
Bằng cách đó, tôi có thể giải quyết những câu hỏi trong suốt bài trình bày.
Vì vậy, chúng tôi sẽ để lại một số thời gian hướng tới sự kết thúc cho câu hỏi.
>> Vì vậy, chỉ thực sự nhanh chóng, những người có thực sự bao giờ làm việc trên Docker,
giống như chơi với nó?
Thật tuyệt vời.
Mát.
Thật tuyệt.
Vì vậy, tôi sẽ bắt đầu với một số lịch sử.
Vì vậy, trở lại trong những năm 90 và Đầu những năm 2000, về cơ bản
như các nhà phát triển web, phát triển ứng dụng, khi họ đã triển khai một ứng dụng
nó đã được gắn kim loại trần.
Đó là một máy chủ.
Nó là một ứng dụng.
>> Theo truyền thống, một ví dụ sẽ như một LAMP stack,
nơi bạn thực sự đã phải đem đến cho các hồ bơi của các nguồn tài nguyên.
CPU, bộ nhớ, đĩa, mạng, cài đặt hệ điều hành trên đó.
Nếu bạn đang phục vụ một cái gì đó, nếu bạn đang thực sự có máy chủ web,
bạn cần một cái gì đó như Apache để phục vụ nó.
>> Nếu ứng dụng của bạn cần cơ sở dữ liệu, backhand,
bạn sẽ cài đặt một cái gì đó như MySQL, và như vậy.
Và nếu bạn cần thời gian chạy, PHPs và PHP Python làm việc ở đó.
Và vì vậy chúng tôi thực sự đã phải đưa những bước theo thứ tự
để có được ứng dụng của bạn và chạy.
>> Nếu bạn cần tính toán nhiều quyền lực hơn, bạn về cơ bản đã phải gọi Ops chàng của bạn
hoặc gal để đi và rack lên một mới phần cứng, kết nối nó,
và bạn phải lặp lại những quy trình một lần nữa và một lần nữa.
Vì vậy, quá trình này là tương đối đắt.
Chắc chắn là rất chậm.
>> Nó đã không hiệu quả.
Và trong rất nhiều trường hợp, bạn phần cứng được sử dụng đúng mức.
Vì vậy, trong những năm 90 và đầu những năm 2000, ảo hóa phần cứng đi qua.
Và như bạn thấy ở đây hình ảnh, về cơ bản những gì họ đã làm
là trừu tượng các hồ bơi của tài nguyên phần cứng miễn phí
và loại phục vụ những để các tầng trên,
trong trường hợp này, hệ điều hành khách.
>> Và toàn bộ ý tưởng của máy ảo đi qua
và đó thực sự đã giúp Mây máy tính như chúng ta biết ngày nay.
Vì vậy, điều đó có nghĩa là bạn có thể chạy nhiều máy ảo, mà
có nghĩa là nhiều ống khói, nhiều ứng dụng trên một máy vật lý.
>> Điều này chắc chắn giúp với tốc độ của việc triển khai ứng dụng.
Chắc chắn với chi phí.
Bạn không cần phải đi và chi tiêu năng lượng, thời gian và nguồn lực để rack
nhiều máy chủ để có được để tính toán hơn.
Và tốc độ thực sự mang lại những nguồn lên là nhanh hơn nhiều.
Thật tuyệt.
>> Vì vậy, chúng tôi giải quyết nạn đói thế giới, phải không?
Không thật sự lắm.
Vì vậy, ảo hóa nhiều như nó là thực sự đã giúp, giải quyết vấn đề,
nó thực sự giới thiệu rất nhiều thách thức.
Hypervisor chắc chắn giới thiệu rất nhiều phức tạp,
xử lý những cơ bản hồ bơi của các nguồn tài nguyên.
>> Nó nặng hơn trong ý nghĩa rằng trước bạn đã có một hệ điều hành duy nhất mà
giống như ba, bốn đồng biểu diễn trên đĩa.
Bây giờ, nếu bạn có 10 máy trên một phần cứng duy nhất
bạn phải nhân đó bởi số lượng máy.
Đó chắc chắn đắt tiền trong một cảm giác bạn vẫn
phải được cấp giấy phép cho các công nghệ ảo hóa
nếu nó không phải là mã nguồn mở.
>> Nhưng, chúng ta không đưa tất cả các tín dụng từ ảo hóa.
Bởi vì những gì đã xảy ra là có một rất nhiều stacks và rất nhiều phần mềm
công nghệ đã được kích hoạt bằng cách nhanh chóng, bạn đã có thể để có được
các nguồn lực với sự bùng nổ Cloud.
>> Vì vậy, hôm nay một ứng dụng hoặc dịch vụ duy nhất có thể được sử dụng bất kỳ các runtimes sau
hoặc cơ sở dữ liệu.
PHP, Python, MySQL, Redis, có điều gì.
Vì vậy, có rất nhiều phức tạp về điều này số ngăn xếp để thực sự đưa lên
một dịch vụ duy nhất.
Và cùng với đó, bạn đã có rất nhiều nguồn lực cơ bản hoặc cơ sở hạ tầng
loại để kiểm tra triển khai và cơ bản đưa vào sản xuất những ứng dụng
rằng bạn đang phát triển.
>> Điều đặc biệt là các đội của bạn có phát triển làm việc trên các ứng dụng đó,
có rất nhiều phức tạp và thách thức
đó đã được đưa đến đảm bảo rằng các cycle-- về ứng dụng
chu kỳ phát triển, là thực sự thành công.
Vì vậy, thực tế là ứng dụng của bạn đang làm việc tại địa phương trên VM địa phương của bạn
không đảm bảo rằng đồng nghiệp của bạn sẽ mong đợi những kết quả tương tự.
>> Và khi các nhóm hoạt động là tham gia vào lấy những gì bạn có
và triển khai nó trong sản xuất quy mô, cũng không có đảm bảo
rằng đó là thực sự xảy ra.
Vì vậy, đây lại cho chúng ta một thực sự big-- rất nhiều dấu hỏi,
một thách thức thực sự rất nhiều phải đối mặt với tương tự trở lại trong ngày.
Và đó nhắc nhở chúng ta ngành vận tải biển.
>> Vì vậy, ngành vận tải biển đã có rất nhiều hàng hóa,
như bạn có thể nhìn thấy ở phía bên tay trái.
Và phía bên tay phải, có rất nhiều, về cơ bản,
cách để tàu hàng hoá đó.
Và những gì sẽ xảy ra khi một cặp vợ chồng folks đến với nhau và nói,
chúng ta cần phải chuẩn hóa như thế nào chúng tôi thực sự xuất xưởng những hàng hoá.
Và sự bùng nổ, bạn có container vận chuyển đa phương thức.
>> Vì vậy, họ đã nhất trí về nhiều nhất kích thước phổ biến cho các container.
Làm thế nào để xử lý chúng.
Phương pháp chính xác những gì bạn cần để tải chúng và dỡ bỏ chúng.
Và do đó, mà thực sự giúp ngành vận tải biển.
Bây giờ hơn 90% tập trung vận chuyển trên toàn cầu đang sử dụng những container.
Và đó chắc chắn giảm các chi phí cũng như
những thiệt hại do vận chuyển.
>> Vì vậy, chúng tôi có những mô hình tương tự và chúng tôi áp dụng các phần mềm phát triển ứng dụng hai
kiến trúc, trong ý nghĩa Containerization đó
đã ảo hóa lên một cấp.
Vì vậy, thay vì làm điều đó ở cấp độ phần cứng,
nó đã trở thành nhiều hơn một hành cấp hệ thống ảo hóa.
>> Và chúng tôi làm điều đó bằng cách cung cấp cho mỗi ứng dụng trong trọng lượng nhẹ của riêng mình,
cô lập, Runnable, và xách tay, quan trọng nhất,
một cách để thực sự trọn gói tất cả mọi thứ mà nó cần phải chạy.
Bất cứ nơi nào nó có thể được chạy.
Vì vậy, bất kể nếu bạn đang chạy nó trên môi trường dev địa phương, sản xuất của bạn
môi trường, dàn dựng hoặc thử nghiệm của bạn.
Không có vấn đề gì cơ bản cơ sở hạ tầng là có,
bạn đã có một ứng dụng làm việc chức năng.
>> Vì vậy, đó là chính xác những gì cơ bản container làm cho vấn đề này.
Họ giải quyết nó bằng cách đóng gói nó theo cách như vậy
mà nó có thể đảm bảo rằng nó được triển khai thành công không có vấn đề nơi nó sống.
Vì vậy, nếu bạn đang đi như thế, Bob nó vẫn OK.
Nếu bạn đang nhầm lẫn với những gì tôi đang nói, Tôi sẽ được xây dựng trên đó.
>> Vì vậy, làm thế nào Docker chính phù hợp với hình ảnh này?
Vì vậy, Docker là một nền tảng mở để dễ dàng, nhấn mạnh một cách dễ dàng,
để xây dựng tàu, chạy, nhẹ tự cầm tay
đủ chứa ứng dụng bất cứ nơi nào.
Vì vậy, nếu bạn có một cái gì đó từ này nói chuyện, hãy dành thời sau.
>> Nếu bạn có ứng dụng đang chạy của bạn tại địa phương và bạn phát triển nó
trong việc sử dụng các nền tảng Docker, mong đợi nó được triển khai thành công.
Không có vấn đề là những gì cơ sở hạ tầng cơ bản.
Vì vậy, nếu bạn có một Docker container và nó làm việc, sau đó
miễn là có một Docker động cơ trên side-- khác
nếu cơ sở hạ tầng hoạt động của bạn được sử dụng bất kỳ Cloud, cho dù đó
là AWS, hoặc Google, hoặc Microsoft, hoặc bất kỳ của các đám mây công cộng,
hoặc Cloud của riêng bạn, hoặc mở ngăn xếp của bạn Cloud, hoặc môi trường địa phương của bạn.
>> Nếu bạn có một động cơ chạy, mà phương tiện
nó sẽ triển khai thành công ở đó.
Nó sẽ được chạy chính xác các hành vi tương tự
như bạn thiết kế nó phải được.
Vì vậy, nếu chúng ta nhìn at-- tôi đi đi qua những gì thực sự
là trong các thành phần chính của Docker.
>> Vì vậy, động cơ là cốt lõi của Docker.
Nó là bộ não của.
Nó orchestrates xây dựng, vận chuyển, và triển khai và quản lý
các container mình.
Tôi sẽ khai thác vào những gì công cụ làm chi tiết hơn trong một giây.
Về cơ bản, vì Doctor được xây dựng xung quanh các kiến ​​trúc máy chủ của khách hàng,
vì vậy để tương tác với các Động cơ bạn cần một số loại của một khách hàng.
>> Hình ảnh là các mẫu trong mà container được xây dựng từ.
Vì vậy, hình ảnh cơ bản tập tin chỉ tĩnh.
Templates và container thực sự là những gì
đang chạy ở thời gian chạy đang phục vụ ứng dụng của bạn
hoặc làm điều gì đó với dữ liệu.
>> Registry được đề cập như là một vấn đề của làm thế nào bạn thực sự phân phối hình ảnh.
Vì vậy, nếu bạn cần chia sẻ một hình ảnh mà bạn đã làm cho đồng nghiệp của bạn
hoặc để đội ops, bạn sử dụng nó bằng cách sử dụng Registry.
Bạn có thể tải về một mã nguồn mở phiên bản của nó mà Docker làm việc trên
và mở nguồn.
>> Hoặc bạn có thể sử dụng Docker giúp đỡ, đó là phiên bản đám mây
để đẩy và kéo ra hình ảnh đó.
Đó là một điều rất lớn.
Bởi vì có một rất lớn hệ sinh thái xung quanh Docker và nó
thực sự mạnh sử dụng các trung tâm.
>> Vì vậy, để tóm tắt ở đây, đây là như thế nào minimalist Docker công việc khách.
Bạn tương tác với máy chủ, trong trường hợp này đó là daemon Docker.
Đó là những điều tương tự như động cơ.
Bạn làm lệnh như Docker xây dựng, kéo, chạy.
Và Engine tự đi và làm hết mọi điều.
>> Vì vậy, hoặc nó tương tác với Registry để kéo những hình ảnh
và các lớp của hình ảnh.
Cho dù nếu bạn muốn triển khai, chạy container, giết chúng, ném chúng xuống,
có điều gì.
Vì vậy, đây tóm tắt các quy trình làm việc của tất cả các thành phần.
>> Vì vậy, nếu bạn mất tất cả thành phần của chính nó.
Vì vậy, động cơ, nó chỉ là một daemon.
Nó sẽ loại chơi nó để hỗ trợ nó trên Linux vì nó
yêu cầu một số tính năng hạt nhân Linux.
Tuy nhiên, Windows đang làm việc vào làm điều tương tự.
Đó là nghĩa vụ để được hỗ trợ bởi Windows Server 2016.
>> Vì vậy, một lần nữa, trách nhiệm với động cơ là, hoặc là để, xây dựng hình ảnh.
Kéo hình ảnh từ Docker Hub hoặc Registry của riêng bạn.
Nếu bạn đang thực hiện với những hình ảnh hoặc bạn tạo ra một hình ảnh mới,
bạn có thể đẩy những người trở lại phải đăng kiểm để phân phối cho các đội khác.
>> Và cố gắng để chứa nó tại địa phương và quản lý chu kỳ container cuộc sống
tại địa phương.
Nó được xây dựng xung quanh HTTP REST API.
Vì vậy, về mặt kỹ thuật bạn có thể viết client của riêng bạn
miễn là nó sử dụng HTTP, mà là một rất cơ chế tiêu chuẩn để nói chuyện với động cơ
và rất nhiều dịch vụ khác.
Và bạn có thể nhìn thấy từ ở đây mà không phân biệt
về những gì các cơ sở hạ tầng là, miễn là bạn can-- tất cả
bạn cần là một điều hành hệ thống, Linux cụ thể.
>> Và bạn có thể cài đặt Docker cơ trên đó và đã cho nó chạy
và nó orchestrates, về cơ bản, tất cả các ứng dụng một, hai, các
và ba là container thực tế.
Vì vậy, đó là Engine.
Như tôi đã đề cập trước đó, vì bạn cần phải tương tác với Công cụ,
có khách hàng.
>> Nhưng thật ra khi bạn cài đặt Docker, nó tàu với nó.
Vì vậy, nó được cài đặt, do đó, nó là một nhị phân duy nhất.
Và bạn có thể làm các cuộc gọi địa phương để Docker Engine của bạn.
Hoặc cuộc gọi từ xa để động cơ từ xa.
Nó sử dụng HTTP, như Tôi đã đề cập trước đó.
Có một khách hàng giao diện được gọi là Kitematic từ Docker.
Và chắc chắn có những rất nhiều folks khác
người đang xây dựng rất nhiều Ảnh minh hoạ rằng về cơ bản thực hiện
một số cuộc gọi HTTP để nói chuyện với Engine.
>> Chỉ cần một số lệnh mẫu.
Nếu bạn làm phiên bản Docker, nó sẽ chỉ cho bạn phiên bản khách hàng cũng như
các phiên bản máy chủ.
Nếu bạn làm thông tin Docker nó sẽ cho bạn biết tất cả các thông tin
khoảng bao nhiêu container đang chạy hoặc tạo ra, bao nhiêu hình ảnh bạn có,
và vv và vv.
>> Ở đây tôi có, ở bên cạnh hộp cuối cùng, tôi có Doctor chạy.
Vì vậy, đó là cách tôi thực sự tạo container.
Và tôi cho nó để echo Hello World và ngủ trong một giây và không có điều gì.
Và bạn có thể thấy kết quả. Vì vậy, nó đang diễn ra.
Và tương tự như Linux ps, bạn có thể nhìn thấy tất cả các quy trình và, trong trường hợp này,
tất cả các container đang chạy.
Cái này đề cập trở lại container tôi vừa tạo ra.
>> Vì vậy, điều này thực sự quan trọng bởi vì, như thế, nó có thể là một chút bối rối.
Vì vậy, hình ảnh là chỉ đọc bộ sưu tập của các tập tin, phải không?
Họ là những container của chúng tôi được dựa trên.
Nhưng họ chỉ chỉ đọc.
Vì vậy, bạn hãy bắt đầu với hình ảnh cơ bản.
Nó có xu hướng bắt chước OS-như, do đó Ubuntu, CentOS, hình ảnh cơ sở có điều gì.
Và sau đó bạn bắt đầu xây dựng vào đầu rằng, lớp nhất định, mà sẽ tạo nên
hình ảnh cuối cùng của bạn, cuối cùng dẫn đến đây.
>> Và mỗi người trong những lớp cần phải có một hình ảnh cha mẹ
mà nó tham chiếu khi nó thực sự muốn tạo ra.
Họ là không thay đổi, trong ý nghĩa mà bởi vì họ đang chỉ đọc,
bạn có thể không thực sự thay đổi chúng.
Bạn có thể sử dụng chúng để tạo ra một container từ một hình ảnh, mà
sẽ gọi tất cả các tiếp theo hình ảnh theo yêu cầu bên dưới nó.
>> Bạn có thể thay đổi để một lớp khác nhau,
đó là một lớp viết lại tôi sẽ nói về trong một giây.
Nhưng mỗi người trong những lớp không bao giờ thay đổi.
Về cơ bản các hình ảnh sử dụng một cái gì đó gọi là Liên minh File System, UFS.
Và có lưu trữ khác nhau backends dụng của công nghệ này.
Và điều đó có nghĩa là nó tập hợp các hệ thống tập tin riêng biệt
để làm cho chúng trông giống như một.
>> Vì vậy, bạn có thể thực sự, từ một quan điểm ứng dụng,
bạn có một đầu của một điểm cho rằng các chương trình tất cả các hệ thống tập tin khác nhau cần thiết
cho ứng dụng đó để chạy.
Nhưng chúng thực sự, về điều này, họ đang thực sự ở những nơi riêng biệt
và được sử dụng bởi container khác.
>> Vì vậy, như bạn có thể thấy ở đây mà nếu chúng ta bắt đầu với hình ảnh daemon
như là một hình ảnh cơ bản, và sau đó chúng tôi đi vào và thêm [? emacs?]
và sau đó đó là một lớp.
Và sau đó thêm Apache.
Đó là một lớp.
Và sau đó chúng tôi dành container từ đó.
Mỗi của những hình ảnh, mỗi người trong những lớp,
là khác biệt và có thể tái sử dụng bằng container khác.
>> Nếu bạn nhìn vào bản thân container, họ bằng cách nào đó như VM-như,
nhưng không được điều trị cùng một lúc.
Vì vậy, họ không có, về mặt kỹ thuật, các hệ điều hành đầy đủ bên dưới chúng.
Họ sử dụng các hạt nhân duy nhất của hệ điều hành chủ.
Và họ xây dựng trên đó.
Họ bắt chước trong cách họ nhìn.
Họ bắt chước tập tin gốc của họ hệ thống của hệ điều hành.
Nhưng họ thực sự không được sao chép.
>> Vì vậy, thay vì có các lớp không thay đổi, lớp cuối cùng, đó là container
bản thân, đó là một lớp đọc-ghi.
Mà cũng chạy các quá trình các ứng dụng của bạn.
Và nó phụ thuộc vào các lớp phía dưới.
Mỗi container là tạo ra từ một hình ảnh.
Và hình ảnh đó có thể là một đơn lớp hoặc hình ảnh đa lớp.
>> Và tôi muốn lưu ý ở đây rằng Docker nặng sử dụng,
hoặc dựa trên cơ chế Copy-On-Write.
Do đó, trên thực tế, nếu bạn không phải là làm thay đổi đối với container,
nó không phải đi để có thêm không gian.
Vì vậy, về cơ bản đó như thế nào bạn Tóm tắt một Copy-On-Write.
Nó sẽ chắc chắn tăng tốc độ thời gian khởi động cho các container.
Bởi vì nếu bạn không làm thay đổi đối với container,
nó sử dụng những gì sẵn có.
>> Vì vậy, làm thế nào nó thực sự hoạt động.
Một phần của nó là như thế, ngay bây giờ, nó sử dụng ít nhất hai hạt nhân chính
tính năng.
Và đó là những gì cơ bản tạo ra rằng mức độ cô lập
cho container mình.
Những tính năng này không gian tên và cgroups.
Vì vậy, không gian tên là một cách để tạo nguồn lực cô lập,
để trong hộp đựng, chỉ có bạn có thể xem các nguồn lực nhất định.
Chẳng hạn như các giao diện mạng hoặc những người sử dụng nhất định hoặc có điều gì.
>> Và đó là những chỉ nhìn thấy và chỉ truy cập trong các container.
Cgroup trên các giới hạn phía bên kia cách bạn sử dụng những tài nguyên.
CPU, bộ nhớ, và đĩa.
Khi bạn có thể đi vào, tôi có nghĩa là những người thực sự
tính năng được phát triển tuỳ theo trường chúng là một phần của hạt nhân Linux.
Vì vậy, họ đã không được tái phát minh bởi hoặc tái tạo bởi Docker.
Docker sử dụng chúng.
>> Bác sĩ những gì thực sự đã làm đây là thực sự nó
sáng tạo dàn không gian tên cho mỗi container
và tạo ra các cgroups để nó ridiculously dễ dàng để tạo container
sử dụng những tính năng.
Tất nhiên, như tôi đã nói trước đó, Liên minh File Systems và Copy-On-Viết sự
giúp tốc độ và đĩa sử dụng các thùng chứa.
>> Và một khi bạn nhận được của bạn bàn tay quanh Docker,
bạn sẽ thấy tốc độ nó là thực sự quay lên container và nước mắt
chúng xuống.
Vì vậy, nếu bạn có thể hỏi, làm thế nào có thể bạn thực sự xây dựng hình ảnh?
Chúng tôi xây dựng hình ảnh của một quá trình tạo container và thay đổi, thay đổi
họ, và cam kết họ thành trở thành một hình ảnh.
>> Vì vậy, nó là một con gà và tham khảo trứng ở đây,
bởi vì tất cả các container đi từ hình ảnh và hình ảnh đến
từ container cam kết, đối với hầu hết các phần.
Có ba lựa chọn để tạo ra hình ảnh.
Tôi sẽ mô tả đầu tiên và cuối cùng.
Bạn có thể tự đi và chạy container
và làm cho những thay đổi, như bạn sẽ làm trên bất kỳ máy ảo
hoặc bất kỳ hệ điều hành, chẳng hạn như cài đặt những chương trình mới,
thêm hệ thống tập tin, và không có điều gì.
>> Và sau đó bạn thoát khỏi, như bạn có thể thấy ở trên đó.
Tôi thoát khỏi container của tôi.
Và sau đó tôi đang làm Docker cam kết.
Và tôi cam kết đó.
Bạn có thể thấy rằng số lượng ở đây chỉ là một UUID, hoặc là người đầu tiên 12
bit của UUID.
Hoặc byte của UUID.
Và sau đó tôi gọi là hình ảnh của tôi.
Vì vậy bây giờ Docker chăm sóc ghi lại tất cả mọi thứ tôi đã làm nó
và tạo mới hình ảnh dựa trên đó.
>> Tôi sẽ không nói về tarball, nhưng có một cách bạn có thể nhận được một đơn,
tạo ra một duy nhất, hoặc thực hiện một single hình ảnh lớp sử dụng tarball.
Những gì tôi sẽ nói về điều này và những gì là chủ yếu được sử dụng ngày hôm nay,
là Dockerfile.
Đó là kỹ thuật đầu tiên bước tự động bởi Docker chính nó.
Vì vậy Dockerfiles là điều mà bạn đang sẽ thấy trong rất nhiều GitHub Repos
hôm nay.
Đó là cơ bản chỉ là một tập tin văn bản mô tả
chính xác làm thế nào để xây dựng một hình ảnh.
>> Và đối với mỗi dòng, nó thực sự tạo container, thực hiện dòng đó,
cam container vào một hình ảnh mới, và bạn, về cơ bản,
sử dụng nó cho tất cả các hoạt động tiếp theo cho đến khi bạn nhận được để ảnh cuối cùng.
Đó là cơ bản Mục tiêu ở đây kết thúc, kết thúc.
Và sau khi bạn exec-- sau khi bạn Dockerfile viết của bạn, mà
hoàn toàn trong các văn bản, bạn làm một Docker xây dựng và tên của hình ảnh.
>> Và bạn chỉ ở đó mà là nơi Dockerfile là lúc.
Và bạn có thể mong đợi để nhìn thấy hình ảnh của tôi như một hình ảnh mà bạn có tại địa phương.
Vì vậy, đó chỉ là một hình ảnh ví dụ về những gì diễn ra.
Bạn bắt đầu với một hình ảnh cơ bản.
Bạn chạy vào một thùng chứa không làm thay đổi hình ảnh cơ bản của chính nó.
Nhưng thay vì tạo ra một viết lại lớp trên đầu trang của nó
nơi bạn thực hiện những thay đổi, trong đó bạn cam kết
và bạn lặp lại quá trình cho đến khi bạn sẽ có được hình ảnh cuối cùng của bạn.
>> Và khi làm như vậy, mỗi khi xây dựng khác quá trình có thể sử dụng các lớp cùng
và same-- cơ bản Docker lưu trữ những lớp.
Vì vậy, nếu tôi đang làm việc cùng chính xác quá trình, nhưng thay vì cài đặt PHP,
Tôi đang cài đặt Python.
Nó sẽ sử dụng Apache và Ubuntu.
Vì vậy, cách mà bạn đang sử dụng đĩa của bạn.
Nó sử dụng bộ nhớ cache và hình ảnh có sẵn ở đó.
>> Giai đoạn cuối cùng là Registry, mà là cách bạn phân phối hình ảnh của bạn.
Và, như tôi đã đề cập trước đó, có một phiên bản Cloud of nó,
đó là Docker Hub.
Bạn có thể đi và khám phá rất nhiều, về cơ bản
đó là một sản phẩm SAS công cộng bạn vẫn có thể có những hình ảnh tư nhân,
nhưng có rất nhiều hình ảnh nào.
Nó thực sự không giới hạn, bạn có thể đẩy hình ảnh công cộng không giới hạn ở đó.
Và đây là cách bạn có thể cộng tác với nhóm của bạn.
>> Bạn chỉ có thể chỉ cho họ vào bạn repo và họ có thể tải về nó hoặc hình ảnh của bạn
và họ có thể tải về nó.
Vì vậy, với đủ các talk.
Ai muốn xem một số bản demo thực tế nhanh chóng?
Được rồi.
Vì vậy, ở đây tôi có.
Ca các bạn nhìn thấy màn hình của tôi?
Được rồi.
>> Vì vậy, tôi có Docker chạy ở đây, vì vậy tôi có thể kiểm tra it's-- Đây là phiên bản
của Docker đang chạy.
Có thể làm thông tin Docker.
Kiểm tra tất cả các thông tin về bao nhiêu hình ảnh mà họ có, và vv và vv.
Docker PS, không có gì chạy.
Nối những người.
>> Vì vậy, điều đầu tiên tôi muốn làm là chương trình bạn làm thế nào bạn có thể dễ dàng chạy một container.
Vì vậy, vẻ đẹp về Doctor chạy, nếu nó thực sự
không tìm thấy một hình ảnh tại địa phương, theo mặc định nó nói đến Doctor Hub
và cố gắng để tìm thấy nó ở đó và tải nó cho bạn.
Vì vậy, nó bao gồm một Docker kéo lệnh, tự nhiên.
>> Vì vậy, nếu tôi làm một Docker chạy, hello-thế giới.
Vì vậy, đầu tiên nó đi để cố gắng xác định vị trí nó.
Nếu không, như bạn có thể thấy ở đây, nó không thể tìm thấy nó tại địa phương.
Ngay bây giờ nó chỉ kéo hai lớp đã làm cho hình ảnh đó và tôi chạy nó.
Hello-thế giới chỉ là cơ bản kết quả đầu ra, những gì bạn đã làm.
Vì vậy, đây là đơn giản nhất, một trong những ví dụ đơn giản nhất.
Vì vậy, thực sự tôi chỉ cần chạy và chấm dứt container thực sự nhanh chóng.
>> Nếu tôi muốn run-- và bằng cách này, nếu Tôi muốn thời gian đó, chỉ cần để bạn biết,
này là phải mất bao lâu để thực sự quay lên và chứa nó.
Chúng tôi đang đo nó bằng mili giây.
Vì vậy, bạn có thể nhìn thấy bao nhiêu điều này có thể thực sự giúp bạn không chỉ trong thử nghiệm,
mà còn ngay cả việc triển khai.
Vì vậy, đó là ghi chú nhanh trên đó.
Điều tiếp theo tôi sẽ làm là thực sự
chạy một bức ảnh tôi đã được chuẩn bị.
Vì vậy, Docker chạy.
-d chỉ là một lá cờ để nói nó chạy ở chế độ nền.
Và -p gán cổng nào đó.
Bởi vì theo mặc định, container đang bị cô lập,
vì vậy bạn phải xác định chính xác làm thế nào nó có thể truy cập chúng.
Và trong trường hợp này, tôi nói với Docker để ánh xạ một cổng ngẫu nhiên trên máy chủ
đến một cổng được chỉ định trong vòng chứa chính nó.
Và đó là cơ bản mà các image-- hy vọng đây là một trong những quyền.
>> Vì vậy, nó không song song mỗi tải của những lớp như bạn có thể thấy ở đây.
Đó là các lớp làm hình ảnh cuối mà tôi xây dựng.
Nó sẽ mất một giây.
Và đây rồi.
>> Vì vậy, bây giờ nếu tôi làm một ps Docker, tôi nên thấy cái gì đó đang chạy.
Tôi sẽ thấy ID, hình ảnh rằng đây nó được dựa tắt,
và các lệnh đã được thực hiện.
Và làm thế nào để truy cập nó là về cơ bản bạn đi đến cổng đó.
Vì vậy, tôi sẽ đi với: này là tôi đang chạy nó trên AWS.
Tôi sẽ đi đến 32.769.
Rất tiếc.
Và ở đây chúng tôi đi.
>> Vì vậy, đây thực sự là chỉ một dịch vụ web cho thấy
mà chứa nó đang được phục vụ từ.
Vì vậy, bạn có thể thấy rằng nó là từ a9f container.
Và đây đây là tên của container.
Vì vậy, các bạn có thể xem cách nhanh chóng nó là để thực sự không chỉ kéo mà còn
triển khai các container này.
>> Bây giờ bước tiếp theo là nhìn vào Dockerfiles
và làm thế nào chúng ta có thể thực sự xây dựng hình ảnh mới.
Tôi chỉ đi được clone, một mẫu Dockerfile dựa trên đầu
sơ đồ, là để Apache và PHP.
Hy vọng rằng tôi nhớ repo của tôi.
>> Vì vậy, tôi có kho lưu trữ của tôi ngay bây giờ.
Và bạn sẽ thấy điều này rất nhiều thực sự.
Tôi không cài đặt cây.
>> Vì vậy, về cơ bản bạn sẽ thấy như thế nào tài liệu mã nguồn của bạn xung quanh
nó, và sau đó một Dockerfile trên làm thế nào để thực sự gói nó.
Vì vậy, nó chỉ là một mẫu PHP âm vang chào CS50.
>> Vì vậy, nếu tôi muốn chạy nó, Tôi sẽ làm Docker build.
Tôi phải xây dựng nó đầu tiên.
Tôi sẽ đặt tên cho nó demo_cs50.
Và bạn cần một thẻ để nó quá.
Vì vậy, chúng ta hãy gọi nó V1 chấm.
Vì vậy, như tôi đã nói trước, những gì tôi đang làm hôm nay
là tôi đang nói Docker đi sử dụng that-- thực sự, xin lỗi, xấu của tôi.
Chúng tôi đã không có một cái nhìn tại Dockerfile chính nó.
Vì vậy, những điều chỉ có ở đây là index.php cũng như các tập tin readme
và một Dockerfile.
>> Vì vậy, nếu bạn có một cái nhìn tại các Dockerfile, vì vậy nó
rất giống với những gì Tôi đã mô tả trước đó.
Nó chỉ là một bó bước Docker thực
bằng cách tạo ra và rách xuống container và [? đếm?] chúng thành một hình ảnh.
>> Và về cơ bản bạn có thể see-- [Không nghe thấy] nó here--
nhưng điều này là từ repo địa phương.
Nó sẽ đi và lấy index.php.
Vì vậy, đó là các mã nguồn duy nhất thực sự là một phần của ứng dụng của bạn.
Tất cả điều này là cơ bản hệ điều hành đường ống dẫn nước,
nhận được các gói phải và Apache và PHP, và không có điều gì.
Nhưng điều này thực sự xảy index.php và cam kết nó vào container,
thành hình ảnh.
>> Vì vậy, nếu bạn đi trước và chạy lệnh bằng cách làm như sau,
nó going-- thực sự, điều này có thể mất một chút.
Hy vọng rằng nó không mất quá nhiều thời gian.
Vì vậy, bạn có thể xem các bước.
Và tôi khuyến khích bạn đi trở về nhà ngày hôm nay và thử nó.
Và Mano sẽ mô tả cách chính xác bạn làm điều đó.
Nhưng nó thực sự tuyệt vời để xem chính xác những gì đang xảy ra đằng sau hậu trường.
Nhưng đó là ridiculously dễ dàng để xây dựng hình ảnh và triển khai chúng bằng cách sử dụng Docker.
>> Nó lấy một chút còn hơn tôi mong đợi.
>> Hãy xem những gì sẽ xảy ra khi you-- mát.
Vì vậy, như bạn có thể thấy, mỗi người trong những bước đại diện cho dòng trong Dockerfile.
Và nó cho thấy ở đây là nó xây dựng thành công hình ảnh này.
>> Vì vậy, nếu tôi làm hình ảnh Docker, tôi sẽ xem tất cả các hình ảnh mà tôi có ở địa phương.
Và một trong số họ được gọi là của tôi Tên truy nhập, và tên của các hình ảnh,
và representing-- tag chủ yếu đó là một phiên bản tag.
>> Vì vậy, bây giờ nếu tôi muốn chạy nó, tôi làm Docker chạy.
Và tôi chỉ muốn làm một -P -d. Do v1.
Vì vậy, tôi có thể nhìn thấy bây giờ mà tôi có hai container đang chạy, một trong đó tôi chỉ
tạo ra và chào Docker một mà tôi đã nhận trước.
>> Và bạn có thể thấy ở đây là nó gán cho nó một cổng khác nhau.
Vì vậy, nếu tôi đi đến cùng một IP nhưng gán cho nó một port-- khác nhau hy vọng tôi đã không.
Vì vậy, bây giờ điều này là ứng dụng mà tôi chỉ được triển khai.
>> Nếu tôi muốn thay đổi, tôi có thể nhanh chóng chỉnh sửa mã nguồn
và làm như sau.
Hãy làm xin chào Harvard.
Vì vậy, bây giờ những gì đang xảy ra phải xảy ra là tôi
sẽ khóa nó với một khác nhau version-- oh,
không này guy-- thẻ nó với một phiên bản khác nhau.
Và bạn sẽ see-- làm các bạn mong đợi
nó để mất cùng một lượng thời gian để xây dựng nó một lần thứ hai hay không?
Tất cả các quyền, và có ai biết lý do tại sao?
Nói lớn.
>> Đung [Không nghe thấy]
>> Nicola KABAR: Đó là về cơ bản chúng tôi chỉ thay đổi một trong các bước sau.
Và do đó nó sẽ sử dụng bộ nhớ cache và sử dụng mỗi người trong những lớp.
Và đó là thật sự một số tính năng sát thủ của Docker
là làm thế nào nó thực sự sử dụng và reuses tiếp quản
đĩa của bạn cho cùng mảnh chính xác của thông tin.
>> Vì vậy, nếu chúng ta làm điều tương tự, nó chỉ mất một vài giây.
Nếu chúng ta muốn redeploy-- vì vậy bây giờ Tôi cần phải có ba container.
Nhưng điều này đang được phục vụ trên the-- bảy một.
Vì vậy, bây giờ nó là các container thứ ba.
Mọi người đều hiểu những gì tôi chỉ cần làm ở đây?
>> Vì vậy, bây giờ nếu bạn muốn chia sẻ này thùng chứa thật nhanh chóng với bạn bè của bạn,
bạn chỉ có thể làm Docker đẩy tên của các container, hy vọng.
Vì vậy, bây giờ nó sẽ đẩy nó đối với: Tôi không ký tại đây.
Xin lỗi về điều đó.
Nhưng tôi sẽ không khắc phục sự cố này ngay bây giờ.
Nhưng về cơ bản là một lệnh chỉ là đi lên đẩy nó.
Và bạn đang đi để có thể nhìn thấy nó nếu bạn đi đến Docker Hub
Và bạn đăng nhập, bạn đi để có thể nhìn thấy nó.
Và sau đó bạn có thể chỉ chỉ bất cứ ai đang đi
sử dụng hình ảnh đó để đi và kéo nó.
Và họ có thể sử dụng nó.
>> Cùng với đó, hy vọng Tôi loại chứng minh
cách dễ dàng là để làm việc với Docker.
Và tôi chỉ cần đi tới đưa lại cho Mano.
Và anh ta sẽ mang nó từ đây.
>> Mano NHÃN HIỆU: Tất cả các quyền cảm ơn, cảm ơn Nico.
Vì vậy, những gì?
Vì vậy, một trong những điều tôi muốn làm là đặt lại với nhau
lý do tại sao đây là một important-- tại sao và tại sao Docker
đựng được như vậy một phát triển mới quan trọng,
một phương pháp mới thực sự làm phần mềm.
>> Và trước khi tôi làm, tôi sẽ chỉ giới thiệu một vài số liệu thống kê.
Tôi sẽ không để đọc tất cả các.
Nhưng điều này cho thấy bạn rất nhiều về cách phổ biến này là trong cộng đồng.
Các công nghệ cốt lõi Docker là mã nguồn mở.
Vì vậy, đó là Docker Engine, Compose, Swarm, một loạt các công cụ khác
là tất cả các mã nguồn mở.
Và chúng ta có, những gì đã làm tôi nói, 1.300 người đóng góp.
Bạn đang nhìn thấy bây giờ, nếu bạn nhìn vào số lượng tuyển dụng việc làm, thời gian qua
chúng ta nhìn, nó đã được khoảng 43.000 việc làm lỗ đặc biệt nhắc đến
quen thuộc với Docker.
Hàng trăm triệu hình ảnh có được tải về từ Docker Hub.
Và, tốt, số liệu thống kê nhiều lớn hơn.
>> Đối với những người tò mò, nó ban đầu được viết bằng Python
và sau đó viết lại vào Go.
Và nó chỉ được mở source-- nó chỉ
được phát hành trong khoảng 2 năm và 1/2, có nghĩa là trong 2 năm và 1/2,
chúng tôi đã nhìn thấy một số tiền to lớn tăng trưởng và tầm quan trọng
của điều này trong cộng đồng.
Và vì vậy tôi muốn nói một chút về lý do tại sao.
>> Vì vậy, chỉ để nhắc lại một số Điểm chính của Nico, Docker là nhanh.
Nó là xách tay.
Đó là tái sản xuất.
Và nó thiết lập một môi trường chuẩn.
>> Và what-- này là crappy của tôi dập monoliths slide-- gì
nó giúp mọi người làm, mà rất nhiều các công nghiệp phần mềm
bắt đầu làm trong Đầu những năm 2000, đang chuyển động
từ những nguyên khối ứng dụng duy nhất
nơi tất cả phụ thuộc phải được thử nghiệm trước khi toàn bộ ứng dụng đã có
được triển khai, trong đó có thể có nghĩa là một trang web
chỉ đã được triển khai một lần mỗi ba tháng, hoặc nhiều hơn,
đến một dịch vụ nhiều hơn nữa kiến trúc hướng
hoặc từng phần, loại khác nhau các kiến ​​trúc ứng dụng.
Và như vậy cho phép các loại kiến ​​trúc
tận dụng lợi thế của Docker để chạy trong ba
khu vực chính của sự phát triển, trong đó được phát triển viết mã thực tế của bạn,
kiểm tra mã của bạn, và triển khai nó.
>> Vì vậy, tại sao điều này lại quan trọng?
Nếu bạn đang a-- hãy để tôi đưa ra một ví dụ.
Nếu bạn là một trang web phát triển thiết bị, bạn
phát triển một trang web dựa trên cơ sở dữ liệu mà David được sản xuất ở đây.
Xin lỗi David, tôi gọi bạn ra ngoài.
Nếu bạn muốn triển khai toàn bộ điều, bạn muốn
phải chờ đợi theo một truyền thống phát triển phần mềm nguyên khối
môi trường, bạn sẽ phải chờ đợi cho đến khi ông được thực hiện với cơ sở dữ liệu
trước khi bạn thực sự có thể làm cho bất kỳ thay đổi trang web của bạn.
Bạn muốn có để triển khai lại toàn bộ ứng dụng để làm như vậy.
>> Và những gì Docker giúp bạn làm từng là việc người vào các thành phần khác nhau
và cập nhật cho họ khi họ đi, chỉ cần làm chắc chắn rằng các giao diện ở mức tương tự.
Vì vậy, những gì nó đã làm là nó chuyển người
từ làm những khối lớn phần mềm kiến ​​trúc mà
triển khai mỗi tháng để liên tục hội nhập và phát triển liên tục
môi trường.
>> Bây giờ điều này không phải là duy nhất cho Docker, nhưng Docker làm cho dễ dàng hơn rất nhiều,
có nghĩa là bạn đang cơ bản liên tục triển khai.
Chúng tôi nói chuyện với các doanh nghiệp có triển khai ứng dụng công ốp
hàng ngàn lần một ngày vì họ thấy giá trị của chỉ làm
thay đổi nhỏ, và miễn khi nó chạy qua các bài kiểm tra,
để cho nó đi ra ngoài vào sản xuất.
Nico đã luôn nói với tôi trước đó trong nhiều môi trường,
chu kỳ sống tiêu chuẩn của một container được tính bằng giây,
trong khi một máy ảo có thể được đo trong tháng.
>> Tôi muốn lấy một chút biến ở đây bởi vì tôi
tại một cơ sở giáo dục.
Tôi muốn đưa ra một ví dụ về cách công trình này trong một nghiên cứu giáo dục
tình huống.
Vì vậy, có một tổ chức gọi bioboxes.
Bioboxes hiện DNA phân tích cho các nhà nghiên cứu.
>> Bây giờ những gì họ thấy được rằng khi một researcher-- và đây không phải là
lỗi của bất kỳ đặc biệt researcher-- nhưng khi
một nhà nghiên cứu triển khai một thuật toán để phân tích,
Một cách đặc biệt, một mẫu DNA, họ sẽ viết phần mềm,
xuất bản rằng, có lẽ để GitHub hoặc ở một nơi khác,
và sau đó họ đã được thực hiện.
>> Vâng vấn đề là nó không nhất thiết phải tái sản xuất.
Bởi vì để hiểu các phần mềm,
họ sẽ được thiết lập cho các môi trường phát triển chính xác
mà nhà nghiên cứu đã sử dụng, thường máy tính xách tay của họ, hoặc một máy chủ, hoặc một dữ liệu
trung tâm mà họ đang sử dụng.
Và do đó, nó là rất khó khăn để tái tạo các kết quả nghiên cứu khi
phân tích các mẫu DNA để tìm vào những thứ như incidence--
so sánh tỷ lệ mắc bệnh tim mạch dựa trên gen nhất định có mặt,
Chẳng hạn, hoặc có nguy cơ ung thư, hoặc bất kỳ loại khác của sự vật.
>> Vì vậy, những gì họ đã làm thay vào đó là họ bắt đầu tạo ra các thùng chứa.
Và bạn có thể đi đến bioboxes.org, đó là một tổ chức tuyệt vời.
Và những gì họ làm là họ sản xuất container dựa trên nghiên cứu.
Và sau đó bất cứ khi nào ai đó gửi trong mẫu của họ, họ có thể chạy nó.
Và nó có tất cả các môi trường cần thiết để chạy thuật toán
và tạo ra kết quả.
Và họ thấy rằng họ đang nhiều khả năng và nhiều
hơn một cách nhanh chóng thể trả lại kết quả cho người dân.
>> Và trên thực tế, những gì mọi người đang làm đang chạy phân tích của riêng họ trên DNA,
gửi mà vào bioboxes, và sau đó biobox chỉ mất dữ liệu,
chạy nó chống lại sự đa dạng container khác nhau
để xem kết quả khác nhau dựa trên nghiên cứu khác nhau.
Vì vậy, nó rất mạnh mẽ cách thức mà các nhà nghiên cứu
có thể làm cho một trường hợp duy nhất cho phép người khác để thử và sinh sản
kết quả.
>> Vậy làm thế nào để bạn bắt đầu?
Chúng tôi được hỗ trợ tốt trên Linux.
Vì vậy, nếu bạn muốn cài đặt bất cứ điều gì trên Linux,
bạn sử dụng tiêu chuẩn của bạn quản lý gói để cài đặt.
Nếu bạn đang sử dụng một Debian, nó get apt.
CentOS là yum.
Fedora Red Hat là rpm-- tôi không nhớ.
Dù sao, đó là tất cả ở đó.
Chúng tôi hỗ trợ một lượng lớn các bản phân phối Linux.
Bạn có thể kiểm tra những người ra.
>> Chúng tôi cũng có các tùy chọn để bạn có thể chạy trên máy Mac hoặc Windows.
Bây giờ Nico đã đề cập trước đó nó chỉ được hỗ trợ trên Linux.
Đó là sự thật vì nó cần một hạt nhân Linux.
Tuy nhiên, bạn có thể chạy trong một máy ảo.
Và những gì các Docker Toolbox không có gì, mà bạn có thể tải về,
nó mang lại cho bạn rằng máy ảo.
>> Vì vậy, chỉ cần một cách nhanh chóng 48 thứ hai, tôi nghĩ rằng, tải về.
Bạn chỉ cần tìm kiếm trên Docker Toolbox, tải nó vào máy Mac,
và phần này là của Tất nhiên tăng tốc lên vì người
ai muốn xem một tín hiệu download?
Cài đặt chuẩn Mac, và sau đó bạn
đi xem Jerome đưa vào mật khẩu của mình.
Điều đó rất thú vị.
Và sau đó nó sẽ cài đặt một bó toàn bộ các công cụ.
Và đặc biệt nó sẽ cài đặt một dòng lệnh.
Và sau đó bạn có thể nhìn thấy Jerome thử nghiệm hình ảnh của mình.
>> Và sau đó dựa vào điều này, bạn có thể thấy rằng YouTube
nghĩ rằng Nico là quan tâm Star Wars, show Jimmy Kimmel,
và tôi nghĩ rằng Ellen.
Tôi nghĩ rằng cuối cùng là một đoạn trích từ một chương trình Ellen.
>> Vì vậy, Docker Toolbox dù đi kèm với hơn chỉ máy Docker.
Vì vậy, Docker Máy là điều đó giúp
bạn thiết lập một ảo máy trên Windows của bạn
hoặc Mac-- hộp Windows hoặc Mac của bạn box-- và giúp bạn làm dự phòng,
>> Nhưng nó cũng đi kèm với Swarm và Compose,
được thiết kế để giúp bạn làm lớn triển khai quy mô của ứng dụng của bạn.
Vì vậy, nếu bạn muốn quản lý cụm các nút,
cụm container, Soạn và Swarm là con đường để đi về điều đó.
>> Và tất nhiên đi kèm với nó Docker Engine và Kitematic,
mà là để bàn giao diện này.
Tôi cũng nên đề cập đến Docker Registry, mà không được bao gồm trong hộp công cụ,
nhưng nó là một cách để bạn có thể chạy riêng của bạn đăng ký của Docker hình ảnh như Docker
Hub, nhưng bạn cũng có thể chỉ cần sử dụng Docker Hub như là một cách để làm điều đó.
>> Và, cốt truyện xoay, bạn đang nhìn thấy nó chạy trong một container.
Và đó là cách chúng tôi phân phối các slide của chúng tôi.
Toàn bộ bài trình bày này là thực sự là một boong trượt HTML.
Và nó đang chạy trong một container, mà bạn có thể có được tuỳ theo trường
>> Nicola KABAR: Có, vì vậy nó chạy toàn thời gian trên Max của tôi.
Và tôi đang trình bày từ nó.
Và bạn chỉ cần làm Docker sau bạn cài đặt Toolbox của bạn.
Bạn chỉ có thể làm một Docker chạy và có được nó, và sử dụng các slide.
>> Mano Marks: Và đó là nó.
Vì vậy, chúng tôi cảm ơn tất cả các bạn đã đến.
Và chúng tôi đang hạnh phúc để trả lời câu hỏi.
Tôi nên đề cập đến trước khi bất cứ ai lá có T-shirts trên đó.
Xin lỗi những ai đang theo dõi này trên Livestream hoặc video,
nhưng chúng tôi có Docker T-shirts trên đó.
Và chúng ta biết học sinh Docker, và trong kinh nghiệm của tôi,
giáo sư quá, giống như quần áo miễn phí.
>> Vì vậy, cảm ơn tất cả các bạn đã đến ra.
Và theo chúng tôi trên Twitter nếu bạn muốn, hoặc không.
Tôi không quan tâm.
Cũng theo Docker trên Twitter.
Đó cũng là thú vị.
Và sau đó đó là nó.
Docker.com.
Cảm ơn bạn.
>> [Vỗ tay]