‫Bây giờ những gì về Docker Registry trong một bầy?
‫Nó không thực sự khác biệt nhiều.
‫Điều thú vị là chúng ta không phải chạy lệnh docker run, chúng ta thực sự có thể sử dụng lệnh dịch vụ docker như chúng ta đã
‫quen hoặc một tệp ngăn xếp như chúng ta đã nói trong phần trước. Nó sẽ hoạt động theo cách giống như chúng ta
‫đã làm trên máy chủ cục bộ vì chúng ta thực sự có thể chỉ cho bầy đàn nói chuyện
‫với chính nó cho sổ đăng ký.
‫Vì vậy, sẽ sử dụng cùng một địa chỉ 127 và chúng tôi không phải bật sổ đăng ký không
‫an toàn vì điều đó đã được Công cụ Docker cho phép. Routing Mesh về cơ bản cho phép tất cả các nút nói chuyện với sổ đăng ký như
‫thể nó là cục
‫bộ, đúng không, bởi vì đó là điều kỳ diệu của Routing Mesh.
‫Tôi chỉ muốn nhắc bạn rằng đây là một vùng chứa dữ liệu liên tục.
‫Nó lưu trữ dữ liệu cần tồn tại theo thời gian.
‫Vì vậy, bạn sẽ phải đối phó với một loại kịch bản sản xuất trong thế giới thực. Bạn sẽ phải đối phó với trình điều khiển
‫âm lượng và cách giải quyết, và về cơ bản đưa ra quyết định về cách bạn sẽ lưu trữ dữ
‫liệu.
‫Nhưng chúng tôi sẽ không làm điều đó ở đây.
‫Đối với ví dụ này với Swarm, tôi thực sự sẽ thay đổi nó một chút và không sử dụng cụm ba nút
‫mà tôi đã sử dụng trong phần trước.
‫Chúng tôi sẽ thực sự sử dụng Play With Docker lần này. Nếu bạn chỉ truy cập play-with-docker. com, chúng tôi sẽ thực
‫sự chứng minh rằng chúng tôi không phải là người máy và sau đó nó sẽ hỏi tôi một số câu hỏi
‫ngẫu nhiên, nó có thể hỏi bạn, nó có thể không.
‫Sau đó, chúng tôi tham gia.
‫Gần đây, Play With Docker đã kích hoạt một tính năng mới giúp chúng tôi thiết lập
‫biểu mẫu thử nghiệm dễ dàng hơn và nằm dưới đối tượng cờ lê.
‫Tôi đoán đó là một cờ lê. Bạn thấy rằng có các tùy chọn ở đây về cơ bản là các
‫mẫu để thiết lập một bầy, vì vậy thay vì hiển thị cho bạn tùy chọn này được thiết lập như chúng tôi đã làm, tôi sẽ chỉ thiết lập năm
‫người quản lý, không cần công nhân, hãy chờ một chút nó sẽ thiết lập tất cả những thứ này. Về cơ bản những gì chúng ta sẽ bắt
‫đầu là một nhóm năm nút. Chúng tôi sẽ chạy một sổ đăng ký thực
‫sự nhanh chóng để cho thấy nó khá giống với trước đây.
‫Được rồi. Bây giờ tôi có năm nút người quản lý và nếu tôi đã làm ls nút docker, Bạn có thể thấy rằng tôi có năm nút trong
‫số đó.
‫Vì vậy, yay. Chúng tôi có một bầy. Thực ra chúng ta chỉ chạy sổ đăng ký nhưng lần
‫này chúng ta
‫sẽ sử dụng dịch vụ tạo và gọi nó là sổ đăng ký.
‫Chúng tôi sẽ xuất bản lại nó như lần trước, cổng 5000, và chúng tôi
‫sẽ đăng ký hình ảnh.
‫Của bạn đây.
‫Chúng tôi có thể thực hiện đăng ký ps dịch vụ docker và nó cho biết nó đang chạy. Trong Play With Docker, chúng tôi nhận được nút nhỏ xinh
‫này hiển thị bất cứ khi nào chúng tôi xuất bản một ứng dụng web.
‫Nó thực sự cho thấy cổng và cung cấp một URL nhỏ thân thiện mà chúng tôi có thể kiểm tra ứng dụng web hoặc
‫điểm cuối web đó.
‫Nhưng bạn biết đấy với Registry, ở gốc
‫của nó, nó không là gì cả, không có gì được trả về ngoài HTTP 200.
‫Những gì chúng tôi có thể làm là với bất kỳ sổ đăng ký nào, chúng tôi thực sự có thể đi và xem danh mục và điều
‫đó sẽ trả về một mảng JSON đơn giản.
‫Bạn sẽ nhận thấy kho lưu trữ của nó trống rỗng.
‫Chúng tôi có thể đã thực hiện điều này trong bài giảng trước với nó cục bộ nhưng chúng ta hãy chơi với một chút ở
‫đây vì chúng tôi đang ở trong giải pháp dễ dàng này với Play With Docker.
‫Hãy để tôi làm điều tương tự khi tôi kéo docker như trước đây của hello world. Bây giờ tôi sẽ ghi nhớ lại thẻ, vì vậy chúng tôi sẽ
‫nói thẻ chào thế giới và sau đó tôi sẽ đổi tên nó hoặc gắn thẻ lại vào một kho lưu
‫trữ mới 127. 0. 0. 1 5000,
‫tôi sẽ đẩy docker.
‫Hãy để tôi phóng to cái này để chúng ta có thể thấy dễ dàng hơn một chút.
‫docker đẩy.
‫Sau đó, chúng tôi sẽ thực hiện 127. 0. 0.
‫1 đồng ý. Bây giờ nó đã đẩy nó lên kho lưu trữ của chúng tôi. Cách chúng tôi thực sự có thể kiểm
‫tra, thực sự nhanh chóng, là nếu bạn chuyển đến tab khác này và tôi sẽ làm mới, bạn sẽ nhận thấy rằng các kho lưu trữ hiện hiển thị tên của kho hiện có.
‫Khi chúng tôi thêm nhiều hơn vào nó, điều này thực sự sẽ mở rộng mảng và chúng tôi sẽ thấy tất cả chúng ở đó.
‫Tại thời điểm này, tôi có thể làm như trước đây, chạy hình ảnh đó, nó sẽ hoạt động giống như chúng tôi mong đợi và
‫mở rộng quy mô. Để chỉ chứng
‫minh quan điểm đó, tôi có thể làm một docker pull nginx.
‫Chúng tôi có thể chạy một
‫máy chủ web nginx đơn giản, gắn thẻ docker
‫nginx, và sau đó đẩy docker, đẩy nó
‫trở lại sổ đăng ký của chúng tôi.
‫Sau đó, bạn sẽ thấy ở đây, rằng tôi có hai bây giờ. Tôi có hai kho lưu trữ ở đó. Sau đó, nếu tôi
‫đã tạo một dịch vụ docker,
‫giống như chúng
‫tôi làm bình thường, phải không, chúng
‫tôi sẽ thực hiện nginx 80 80, nhưng lần này tôi sẽ chỉ định hình ảnh như vậy.
‫Chúng tôi đang nói với họ rằng chúng tôi không muốn sử dụng hình ảnh Docker Hub,
‫đúng
‫rồi, để bắt đầu dịch vụ và chúng tôi muốn sử dụng hình ảnh này.
‫Bây giờ chúng ta sẽ thêm vào một vài tùy chọn.
‫Tôi sẽ thực sự làm bản sao 5, để một nginx sẽ bắt đầu trên mỗi nút, và sau đó chúng tôi
‫sẽ thực hiện một tùy chọn mới bắt đầu hiển thị trong 17. 04 Tôi tin rằng, detach = false và điều này sẽ cho phép chúng ta thực sự
‫thấy lệnh đang chạy trong thời gian thực.
‫Bạn sẽ thấy rằng nó đang chuẩn bị, có nghĩa là về cơ bản nó đang tải hình ảnh đó từ
‫sổ đăng ký đến các nút, sau đó nó sẵn sàng và sau đó nó đang chạy.
‫Xong rồi, xong rồi.
‫Nếu tôi kéo, bạn sẽ nhận thấy từ trên xuống, nó hiện đang hiển thị cổng 80 vì đó là một dịch vụ mới và
‫bạn sẽ thấy rằng tôi có nó ở đây và nó đang hoạt động.
‫Điều thú vị về điều này là khi bạn ở trong một bầy, bạn không thể sử dụng một hình ảnh chỉ có trên một
‫nút, phải không?
‫Một bầy phải có khả năng kéo hình ảnh trên tất cả các nút từ một số kho lưu trữ trong sổ đăng
‫ký mà tất cả chúng đều có thể tiếp cận. Tôi đã không đề cập đến điều đó trong phần
‫bầy đàn, nhưng đó là một điểm quan trọng vì điều đó có nghĩa là bạn không thể chỉ xây dựng hình ảnh của riêng mình trên một địa
‫phương, như giả sử trong trường hợp này manager1 và manager2 sẽ không có thể đến manager1 và lấy nó, phải không?
‫Tất cả chúng đều phải thực hiện đẩy và kéo từ một kho lưu trữ trung tâm ở đâu đó.
‫Nhưng bởi vì tôi đã chạy sổ đăng ký như một dịch vụ ở đây, tất cả họ có thể biết cách truy cập 127 không 0 một, và
‫sau đó lưới định tuyến sẽ thực sự hướng họ đến đúng vùng chứa, bất cứ nơi nào đăng ký đó đang chạy
‫trên một trong các nút, và sau đó nó sẽ kéo hình ảnh nginx đó đến tất cả các nút khi chúng cần
‫ở đó.
‫Nếu bạn đã sử dụng dịch vụ docker ps nginx, bạn sẽ thấy rằng có một nút đang chạy trên mỗi nút và bạn sẽ thấy rằng
‫hình ảnh mà nó đang sử dụng là hình ảnh từ sổ đăng ký của chúng tôi.
‫OK, vậy là nó chỉ để hiển thị cách Swarm rất giống với Docker Registry.
‫Ở phần cuối, chúng tôi đã đề cập, đó là mẩu tin mới, rằng bạn cần đảm bảo rằng hình ảnh của bạn mà bạn sử dụng
‫trong một bầy có thể truy cập được trong bất kỳ cơ quan đăng ký nào mà chúng sẽ có mặt.
‫Chúng phải được truy cập bởi tất cả các nút. Đó là điều hiển nhiên, đúng không, vì các nút không
‫thể chia sẻ hình ảnh với nhau. Họ thực sự phải kéo chúng từ một sổ đăng ký và vì
‫vậy tất cả họ phải có thể truy cập được.
‫Nó chỉ xảy ra rằng một lưới định tuyến làm cho nó dễ dàng hơn nhiều để chạy nó.
‫Cũng giống như một ProTip nhỏ cuối cùng, nếu bạn không phải chạy sổ đăng ký của riêng mình, thì rất tuyệt khi làm như
‫vậy, chỉ cần sử dụng một trong những cái được lưu trữ trên Internet.
‫Chúng là thừa.
‫Họ có giám sát và tất cả những thứ thích hợp liên quan đến việc quản lý bộ nhớ.
‫Chúng thường là, đặc biệt nếu bạn đang làm mã nguồn
‫mở, hầu hết chúng đều miễn phí.
‫Nếu bạn đang làm việc đó vì lý do riêng tư và cần lưu trữ hình ảnh riêng tư, hầu hết chúng đều có chi phí rất hợp lý, ý tôi là
‫chi phí rất thấp để lưu trữ hình ảnh của bạn.
‫Vì vậy, cho dù bạn sử dụng AWS hoặc Quay hoặc Docker Hub hoặc rất nhiều tùy chọn ngoài đó, tôi sẽ nói rằng
‫hãy thử những tùy chọn đó trước tiên và chỉ sử dụng sổ đăng ký của riêng bạn nếu bạn thực sự có một số loại, có thể, yêu cầu
‫ngoại tuyến khi nó phải có sẵn không có Internet hoặc nếu chỉ có một số hạn chế về bảo mật mà bạn thực sự
‫không thể sử dụng bất kỳ nền tảng được lưu trữ nào. Bởi vì nó thực sự là một trong những thứ mà nó là một tiện ích
‫và thật tuyệt khi bạn có thể dựa vào người khác để giải quyết vấn đề đó cho bạn.
‫Vì vậy, tôi hy vọng bạn chơi với nó và có một số niềm vui.
‫Bây giờ bạn không có bài giảng này, hãy nhớ dọn dẹp để bạn có thể bắt đầu với một phương tiện mới
‫cho bài giảng tiếp theo.