‫Xin chào.
‫Video này là vì hai lý do.
‫Một, đó là trong trường hợp bạn không muốn chạy Docker cục bộ.
‫Bạn muốn chạy Docker trên một máy chủ từ xa, cho dù đó là sản xuất, một số máy chủ sử dụng khác hoặc đơn
‫giản vì bạn không thể chạy Docker cục bộ để cấp phép tài nguyên hiệu suất, bạn biết mình không phải là quản trị viên
‫cục bộ.
‫Nó có thể là đủ loại lý do.
‫Vì vậy, đây là về công cụ Docker cho máy chủ Linux.
‫Lý do tôi nói đó là động cơ và máy chủ là những thành phần quan trọng mà chúng ta sẽ đề cập đến trong suốt video này.
‫Video này sẽ tập trung vào việc cài đặt Docker cập nhật nhất từ đúng vị trí, khác với
‫các trình quản lý gói Linux mặc định của bạn.
‫Sau đó, chúng tôi sẽ đảm bảo rằng nguồn cung cấp được cài đặt ở bất kỳ nơi nào bạn định vận hành nó để không bị ssh
‫xâm nhập vào máy chủ trong toàn bộ thời gian.
‫Chúng tôi thực sự sẽ thiết lập nó để chúng tôi có thể điều khiển nó từ xa, đó là cách tốt nhất để chạy
‫công cụ Docker trên máy chủ Linux?
‫Và một chút tuyên bố từ chối trách nhiệm, nếu bạn chưa xem video trước, nói về máy tính để bàn Docker
‫cho máy tính để bàn Linux, thì đây không phải là điều đó.
‫Đây là trước khi chúng tôi có máy tính để bàn Docker, chúng tôi chỉ có công cụ Docker.
‫Mỗi máy tính để bàn Docker đều có công cụ Docker trong đó.
‫Nó quản lý nó cho bạn, nhưng công cụ Docker, nó là một nhị phân duy nhất được gọi là Docker D hoặc Docker Daemon và có thể
‫hoạt động trên bất kỳ máy chủ Linux nào.
‫Miễn là bạn có nhân Linux, bạn có thể chạy cùng một thứ.
‫Bạn có thể chạy nó trên Windows Server, Docker RD ESXi thực sự có thể chạy như một dịch vụ trên máy chủ Windows để chạy
‫Windows Containers.
‫Nhưng chúng ta sẽ không nói về điều đó trong video này.
‫Vì vậy, máy tính để bàn Docker, để chạy trên hệ thống cục bộ của bạn, nó thực sự chỉ để sử dụng Docker
‫cục bộ.
‫Nhưng đây là công cụ Docker có thể chạy trên bất kỳ hệ thống Linux nào, cho dù đó là cục bộ hay từ xa,
‫cho dù đó là máy ảo hay máy chủ vật lý, đó là Raspberry Pi, bất kể nó là gì.
‫Nếu nó đang chạy nhân Linux, nó sẽ nằm trong danh sách và Docker có một danh sách tương thích với các bản dựng được hỗ trợ đã thử nghiệm
‫mà chúng biết là hoạt động.
‫Đó không phải là mọi bản phân phối Linux ngoài kia.
‫Nó không bao gồm BSD, không phải là Linux về mặt kỹ thuật, và nó thực sự chỉ tập trung vào những
‫cái lớn, bạn biết đấy, miền Trung Tây, chiếc mũ đỏ, Ubuntu, Debian, những thứ đó.
‫Và có nhiều kiến trúc khác nhau mà nó sẽ hỗ trợ.
‫Vì vậy, như một tài liệu tham khảo trong video này, bạn sẽ thấy liên kết đến trang này hiển thị cho bạn danh
‫sách các bản phân phối Linux hiện được hỗ trợ cho công cụ.
‫Tất nhiên tôi sẽ sử dụng Docker trên Ubuntu, bản phân phối Linux cho máy chủ yêu thích của tôi và tôi sẽ hướng dẫn bạn cách
‫thực hiện.
‫Tôi sẽ xem xét chi tiết hơn bởi vì thực sự bạn sẽ chỉ đọc nó hoặc chạy script, điều mà chúng
‫ta sẽ nói tiếp theo.
‫Bây giờ, vâng, tôi cung cấp cho bạn các liên kết làm tài nguyên của video này cho tất cả các tài liệu về tất cả các cách
‫cài đặt nó trên các biến thể Linux, các bản phân phối như Ubuntu, Fedora và tất cả các tài liệu khác.
‫Nhưng thực sự cách dễ nhất để làm điều này hầu hết thời gian là chạy một tập lệnh.
‫Nếu bạn nhập vào trình duyệt của mình, hãy tải Docker.
‫Điều đó sẽ cung cấp cho bạn một tập lệnh shell mà bạn có thể xem, bạn có thể tải xuống, bạn có thể chạy tự động.
‫Với Curl, về cơ bản nó có nghĩa là giúp bạn có được các cài đặt phù hợp và gỡ cài đặt những thứ cũ, cài đặt những thứ mới, đảm bảo
‫rằng bạn đang nhận được các nguồn phù hợp và tất cả những thứ đó chỉ trong một lần.
‫Đó là cách tôi luôn cài đặt Docker, kể từ khi tôi tìm hiểu về nó theo cách đó, từ khi
‫bắt đầu dự án.
‫Vì vậy, có thể để tìm hiểu, có thể là lần đầu tiên bạn cài đặt Docker trên máy chủ Linux, bạn hãy làm theo
‫tài liệu hướng dẫn từng bước với trình quản lý gói của bạn.
‫Có thể đó là phù hợp, có thể là phù hợp, có thể là APK tùy thuộc vào những gì bạn đang làm trên bản phân phối Linux của mình.
‫Nhưng tôi sẽ sử dụng tập lệnh này, dễ dàng hơn.
‫Về cơ bản, nó thu gọn tập lệnh thành một tệp và sau đó chạy tệp đó bằng một trình bao.
‫Và đây chính xác là tập lệnh đó, nếu bạn đi đến trang trình bày cuối cùng, nó sẽ yêu cầu bạn sao chép và
‫dán nó và sao chép nó xuống rồi chạy nó.
‫Vì vậy, chúng tôi đang làm điều đó và nó sẽ tìm ra bản phân phối
‫mà tôi đang sử dụng, phiên bản nào của bản phân phối đó, liệu chúng có được hỗ
‫trợ hay không. .
‫Kho lưu trữ để cài đặt của bạn và sau đó lệnh đó chạy trong vài phút tùy thuộc vào tốc độ máy chủ của
‫bạn.
‫Và sau đó bạn quay lại đây tại dấu nhắc trình bao của mình với dòng lệnh Docker, công cụ Docker
‫hoặc Daemon và một số tiện ích khác.
‫Thông thường nó đi kèm với một số plug-in như bộ công cụ xây dựng để xây dựng hình ảnh, soạn thảo để chạy nó.
‫Chúng tôi sẽ tìm hiểu tất cả những điều đó thông qua khóa học.
‫Vì vậy, chỉ cần nhận ra rằng có thể có bốn hoặc năm tệp nhị phân đang trôi nổi trong hệ thống của bạn.
‫Bây giờ, giống như tất cả các cách khác mà bạn có thể cài đặt Docker, hãy thực hiện lệnh phiên bản không gian Docker,
‫nhập lệnh đó vào trình bao của bạn và bạn sẽ nhận lại được ít nhất là ứng dụng khách dòng lệnh và phiên bản máy chủ.
‫Khi bạn lấy lại phiên bản máy chủ đó, điều đó có nghĩa là bạn có thể nói chuyện với API máy chủ trên máy chủ đó.
‫Nếu bạn đang ở trên shell của máy chủ, thì về mặt kỹ thuật, nó đang nói chuyện với các máy chủ cục bộ bằng cách sử dụng một ổ cắm.
‫Tôi chỉ muốn nhắc bạn rằng tất cả những gì bạn vừa làm ở đó là mã nguồn mở, công cụ Docker,
‫dòng lệnh Docker, tất cả các plugin ở đó.
‫Đó là tất cả mã nguồn mở hoàn toàn.
‫Tuy nhiên, máy tính để bàn Docker được cấp phép của Apache, từ các video trước đó bao gồm tất cả nội dung
‫này cũng như nguồn đóng hoặc phần mềm được cấp phép từ Docker.
‫Máy tính để bàn Docker giống như một tập hợp siêu nhiều thứ khác nhau.
‫Công cụ Docker ở đây mà chúng tôi đang cài đặt chỉ là mức tối thiểu.
‫Đó là daemon bạn cần để chạy một vùng chứa trong Docker.
‫Và xin nhắc lại, giống như tôi đã làm trong các video trước, nếu bạn sử dụng lệnh đăng nhập Docker vì bạn chỉ có
‫quyền truy cập dòng lệnh ở đây, nếu bạn nhập không gian Docker, hãy đăng nhập, bạn có thể đăng nhập
‫bằng ID Docker của mình và điều đó sẽ giúp bạn có nhiều hồ bơi hơn.
‫Nếu bạn nhớ, nhóm là những thứ trong một vài video đầu tiên trong khóa học này có chứa phần mềm.
‫Bạn kéo hình ảnh và sau đó bạn chạy nó như một vùng chứa và bạn thực hiện điều đó một số lần nhất định.
‫Và cuối cùng Docker có thể phàn nàn và nói, Này, xem này, bạn đã vượt quá và tôi nghĩ
‫con số hiện tại là 106 giờ.
‫Nó cho biết bạn đã vượt quá số lượng hồ bơi.
‫Chà, nếu bạn đứng sau tường lửa của công ty và tất cả mọi người trong công ty của bạn đều đang sử dụng Docker
‫và tất cả đều đứng sau một địa chỉ IP duy nhất, thì giới hạn đó có thể đạt được khá nhanh.
‫Nhưng nếu bạn chỉ đăng nhập, Docker cung cấp cho bạn ít nhất gấp đôi số lần kéo miễn phí với tài khoản miễn phí nếu bạn trả tiền cho
‫Docker, điều mà bạn không phải làm với khóa học này, nhưng nếu bạn muốn trả tiền
‫cho Docker đối với đăng ký Docker, theo tôi, bạn sẽ nhận được số lượng không giới hạn miễn là bạn đăng nhập
‫bằng tài khoản đó.
‫Nhưng hãy chuyển sang điều khiển cục bộ daemon này.
‫Bây giờ, những gì sẽ xảy ra ở đây là bất kỳ hệ thống nào bạn sẽ sử dụng, giả sử đây là một thiết lập
‫máy chủ hoặc có thể chỉ là bạn không muốn chạy Docker trên máy cục bộ của mình.
‫Có thể bạn không được phép, có thể bạn không thể.
‫Có thể bạn không có đủ tài nguyên.
‫Có thể bạn chưa root trên máy cục bộ của mình.
‫Nhưng bạn có khả năng chạy Docker trên máy từ xa này.
‫Chà, bạn không cần phải ngồi trong shell trên chiếc máy từ xa đó và gõ tất cả các lệnh của bạn ở đó và thực hiện
‫tất cả mã nguồn của bạn ở đó hoặc sao chép repo cho khóa học này.
‫Bạn không thể làm gì ở đó.
‫Bạn có thể bỏ qua điều đó.
‫Bạn thực sự có thể cài đặt Docker ở đó và chúng ta sẽ nói chuyện với nó từ xa.
‫Bây giờ, hãy quay lại một chút.
‫Nhiều năm trước, trước khi tính năng đường hầm SSH này tồn tại ở đâu đó vào khoảng năm 2018, thì trước đó bạn sẽ phải
‫ssh vào máy chủ và thực hiện mọi thứ trên máy chủ và kiểu đó đôi khi thật tệ vì sau đó bạn phải sao chép nội
‫dung của mình và nó không phải là tuyệt vời.
‫Bạn có mọi thứ khác cục bộ, bạn có trình soạn thảo mã của mình, có thể bạn đang sử dụng mã Visual
‫Studio và bạn có mã nguồn của mình cho lớp này và bạn có nội dung ở đây, phải không?
‫Vì vậy, lý tưởng nhất là bạn muốn thực hiện tất cả những gì hoạt động trên máy cục bộ của mình.
‫Docker đã giải quyết vấn đề đó khi nó ra mắt lần đầu tiên vào năm 2013.
‫Cách duy nhất chúng tôi có thể làm điều đó là thông qua cổng TCP, cổng này không được tích hợp
‫xác thực và theo mặc định không cung cấp mã hóa cho kết nối.
‫Vì vậy, nó thường được coi là một cách xấu để kết nối với Docker.
‫Đó là điều bạn chỉ muốn làm trên các mạng an toàn, và đặc biệt là vì nó chưa được xác thực.
‫Về mặt kỹ thuật, nó có thể cho phép bạn truy cập root từ xa vào một máy chủ nếu bạn chỉ đơn giản kết nối từ bất kỳ nơi nào
‫có quyền truy cập vào cổng đó, đó là một ý tưởng tồi.
‫Vì vậy, Docker sau đó đã thêm tính năng mới này được tích hợp sẵn để chúng ta có thể đơn giản thực hiện kết nối SSH trong
‫suốt miễn là bạn có thể SSH đến máy chủ đó và có xác thực hoặc chứng chỉ, tốt nhất là SSH vào máy chủ đó.
‫Bạn có thể làm điều đó và bạn không cần phải nhảy qua vòng hoặc để lộ bất kỳ cổng bổ sung nào.
‫Vì vậy, đó là những gì chúng tôi sẽ làm.
‫Vì vậy, bước này ở đây là chỉ cần tải ứng dụng khách dòng lệnh Docker trên bất kỳ hệ thống nào bạn sẽ
‫làm việc và nó có thể trên Windows, Mac, Linux, Raspberry, PIs, bất cứ điều gì.
‫Chỉ cần tải ứng dụng dòng lệnh nếu bạn đang sử dụng máy Mac.
‫Đáng ngạc nhiên là trình cài đặt brew, mà nếu bạn không biết về brew, bạn đang thiếu trình cài
‫đặt tốt nhất cho Mac và Brew install Docker không thực sự cài đặt toàn bộ công cụ Docker hoặc máy tính để bàn Docker.
‫Nó chỉ cài đặt khách hàng bởi vì họ.
‫Không phải là công cụ Docker cho Mac.
‫Hạt nhân Mac không hỗ trợ vùng chứa, vì vậy đáng ngạc nhiên là quá trình cài đặt chỉ cài đặt một dòng lệnh, trong trường hợp này là
‫những gì chúng ta muốn.
‫Nếu máy cục bộ của bạn là Linux, bạn có thể sử dụng gói cài đặt Linux từ tài liệu Dockers
‫và sau đó khi bạn đã thiết lập gói đó làm kho lưu trữ, thì bạn có thể chọn cài đặt gói Docker CCI từ
‫kho lưu trữ đó.
‫Và cuối cùng, nếu bạn đang sử dụng Windows, bạn có thể đã nghe nói về Chocolaty.
‫Đó là một trong những trình quản lý gói cho Windows hiện nay.
‫Và bạn có thể thực hiện một cài đặt sô cô la để chỉ cài đặt ứng dụng khách dòng lệnh.
‫Nhưng Docker cũng đã giải thích tất cả những điều này trong tài liệu của họ, nơi họ cho bạn biết cách bạn có
‫thể lấy các thư viện máy khách cho hệ điều hành của mình và chỉ cho thư viện máy khách.
‫Được chứ.
‫Khoảnh khắc của sự thật.
‫Bạn đã cài đặt công cụ Docker trên máy chủ Linux.
‫Bất kể bạn sẽ sử dụng nó để làm gì, cho dù đó chỉ là để thực hành hay sản xuất thực sự, bạn
‫đã có Docker trên máy chủ, bây giờ bạn đã có khách hàng trên Southern, máy cục bộ của bạn.
‫Tôi nên nhắc bạn rằng tất cả những điều tôi chỉ nói với bạn về việc cài đặt ứng dụng khách, nếu bạn đã
‫cài đặt Docker desktop, bạn không cần phải làm điều đó.
‫Máy tính để bàn Docker đi kèm với máy khách, nhưng chúng tôi có thể cho máy khách biết nơi chỉ nơi để nói chuyện với máy
‫chủ và đó là những gì chúng ta sẽ làm bây giờ.
‫Vì vậy, hãy tưởng tượng tôi có thể nói vào một máy chủ với một cái gì đó giống như lệnh này ở đây, định tuyến ssh tại địa chỉ IP hoặc
‫tên máy chủ.
‫Và giả sử tôi có chứng chỉ SSH.
‫Vì vậy, tất cả những điều này giả sử bạn hiểu những điều cơ bản về SSH và bạn biết cách lấy chứng chỉ trên
‫máy chủ để bạn có thể đăng nhập từ xa.
‫Có rất nhiều hướng dẫn về điều đó và kiến thức đó được giả định.
‫Một lần nữa, kiến thức cơ bản về Linux được giả định trước khi bạn tham gia với Docker.
‫Vì vậy, giả sử rằng chúng ta có thể làm điều đó, nếu tôi có quyền truy cập đó, thì tất cả những gì tôi cần làm là tạo một biến
‫môi trường.
‫Biến môi trường máy chủ gạch dưới Docker cho dòng lệnh Docker biết máy chủ nào sẽ nói chuyện theo
‫mặc định.
‫Nếu bạn chỉ cài đặt Docker trên một thứ gì đó và bắt đầu sử dụng dòng lệnh, nó sẽ giả định là local socket
‫hoặc local host.
‫Và vì vậy nó thậm chí không có biến môi trường này.
‫Và theo mặc định, nếu nó trống, biến môi trường này, mặc dù Docker cố gắng tìm kiếm nó
‫và nó không tìm thấy nó, nó sẽ nói, được rồi, bạn phải giả sử rằng tôi cần nói chuyện với máy chủ
‫cục bộ và nó sẽ làm điều đó tốt.
‫Nhưng nếu chúng tôi thay đổi điều này bằng cách thêm một máy chủ công cụ xuất khẩu bằng dấu gạch chéo ssh dấu hai chấm giống như bạn
‫sẽ sử dụng trong URL https.
‫Vì vậy, nếu chúng tôi thay thế nó bằng tên người dùng có dấu gạch chéo của ssh colon ở tên máy chủ, thì tôi có thể sử dụng docker bằng cách chỉ cần gõ các
‫lệnh docker thông thường.
‫Vì vậy, hãy lưu ý rằng tôi nhập phiên bản docker ở đây, nhưng tôi không có Docker chạy trên máy cục bộ của mình.
‫Tôi chỉ có ứng dụng khách Docker đó và nó đã được SSH ngay trên internet tới phiên bản đám mây từ xa này mà tôi vừa thiết
‫lập cách đây vài phút và nó trả về phiên bản máy chủ cũng như phiên bản ứng dụng khách.
‫Nếu bạn bắt đầu tìm hiểu xung quanh, bạn sẽ thực sự thấy rằng tôi đang ở Darwin, đó là Mac OS
‫cho khách hàng của tôi và nếu chúng tôi cuộn xuống máy chủ sẽ hiển thị Linux vì đó là nơi máy chủ
‫đang chạy công cụ và đó là nó.
‫Đó là tất cả những gì bạn cần làm.
‫Nếu bạn muốn bỏ đặt biến môi trường máy chủ lưu trữ gạch dưới Docker đó, thì dòng lệnh Docker của bạn sẽ hoàn nguyên
‫trở lại máy cục bộ của bạn, giả sử rằng bạn có động cơ đang chạy cục bộ và bạn có thể chuyển
‫đổi qua lại.
‫Trên thực tế, bạn có thể có một loạt các máy chủ khác nhau và chỉ cần thay đổi biến môi trường trong mỗi trình
‫bao bạn đang sử dụng để cho nó biết máy chủ nào cần nói chuyện.
‫Có một lệnh ngữ cảnh Docker cũng có thể làm điều này.
‫Chúng tôi sẽ không nói về điều đó được nêu ra.
‫Điều đó nâng cao hơn cho phần sau của khóa học, nhưng về mặt kỹ thuật, có một lệnh được tích hợp
‫sẵn gọi là Docker context cho phép bạn lưu các cài đặt này và quản lý danh sách các công cụ khác nhau mà bạn muốn nói
‫chuyện.
‫Nhưng cái này rất tuyệt để bắt đầu và bước cuối cùng ở đây là sao chép kho lưu trữ của bạn cho khóa học này cục bộ, kho lưu
‫trữ đã được đề cập đến một vài bài giảng trong các bài giảng đã viết, nơi có kho khóa học mà bạn tải xuống,
‫bạn muốn đặt nó trên máy cục bộ của bạn cùng với trình chỉnh sửa mã của bạn và mọi thứ
‫khác và ứng dụng khách Docker.
‫Điều duy nhất sẽ có trên máy chủ là công cụ chúng tôi đã cài đặt và chúng tôi sẽ không
‫cần phải truy cập vào nó liên tục vì tất cả các lệnh Docker mà chúng tôi chạy cục bộ sẽ chỉ thực thi trên máy
‫chủ từ xa đó.
‫Máy chủ từ xa đó.
‫Nhân tiện, chỉ cần nhớ bất cứ khi nào tôi nhập máy chủ lưu trữ cục bộ trong trình duyệt của mình để kiểm tra mọi thứ trong Docker, chẳng
‫hạn như có thể là một trang web hoặc thứ gì đó mà chúng tôi đang chạy trong Docker, bạn sẽ không nhập máy
‫chủ lưu trữ cục bộ, bạn sẽ để nhập tên máy chủ máy chủ hoặc địa chỉ IP mà bạn đã cài đặt Docker.
‫Đó là máy đang chạy engine, chạy các vùng chứa của bạn và bạn sẽ cần phải nhập trình duyệt
‫của mình.
‫Hoặc nếu bạn đang chạy bất kỳ lệnh cục bộ nào khác như curl hoặc ping, bạn sẽ cần phải thực hiện các
‫lệnh đó với IP máy chủ đó. Và thế là xong.
‫Bây giờ bạn có một công cụ chạy trên một máy chủ Linux ở một nơi nào đó trên thế giới.
‫Bạn đang chạy trên hệ thống cục bộ của mình với mã và kho lưu trữ của bạn và mọi thứ khác, và bạn đã sẵn
‫sàng để bắt đầu.