Giới thiệu
Docker là một công cụ tuyệt vời cho việc triển khai máy chủ của bạn. Trong khi docker.io cho phép bạn tải lên của bạn sáng tạo Docker để đăng ký của họ miễn phí, bất cứ điều gì bạn tải lên cũng là công cộng. Điều này có lẽ không phải là những gì bạn muốn cho một-mở nguồn dự án.
Hướng dẫn này sẽ cho bạn thấy làm thế nào để thiết lập và bảo đảm registry Docker riêng của riêng của bạn. Vào cuối của hướng dẫn này, bạn sẽ có thể để đẩy một hình ảnh tuỳ chỉnh Docker để đăng ký riêng của bạn, và kéo hình ảnh một cách an toàn từ một máy chủ khác nhau.
Hướng dẫn này không bao gồm containerizing ứng dụng của riêng bạn, nhưng chỉ làm thế nào để tạo sổ đăng ký, nơi bạn có thể lưu trữ của bạn triển khai. Nếu bạn muốn tìm hiểu làm thế nào để bắt đầu với Docker riêng của mình (như trái ngược với sổ đăng ký), bạn có thể muốn đọc các hướng dẫn ở đây.
Hướng dẫn này đã được thử nghiệm với tất cả các máy chủ (một registry và một khách hàng) chạy Ubuntu 14,04, nhưng có thể làm việc với các distro dựa trên Debian.
Docker khái niệm
Nếu bạn không sử dụng Docker trước đó nó là giá trị tham gia một vài phút để đi qua một vài khái niệm then chốt của Docker. Nếu bạn đang sử dụng Docker và chỉ muốn biết làm thế nào để bắt đầu chạy của riêng của bạn đăng ký, sau đó xin vui lòng bỏ qua đến phần tiếp theo.
Cho một bồi dưỡng về cách sử dụng Docker, hãy xem Docker Cheat Sheet tuyệt vời ở đây.
Docker lúc cốt lõi của nó là một cách để tách một ứng dụng và các phụ thuộc cần thiết để chạy nó từ hệ điều hành. Để thực hiện điều này có thể Docker sử dụng container và hình ảnh. Một hình ảnh Docker về cơ bản là một mẫu cho một hệ thống tập tin. Khi bạn chạy một hình ảnh Docker với docker chạy lệnh, một thể hiện của hệ thống tập tin này được thực hiện trực tiếp, và chạy trên hệ thống của bạn bên trong một container Docker. Theo mặc định kho chứa không thể liên lạc hình ảnh ban đầu chính nó, hoặc hệ thống tập tin của máy chủ lưu trữ vị trí docker đang chạy. Đó là một môi trường khép kín.
Bất cứ điều gì thay đổi bạn thực hiện trong các thùng chứa được bảo quản trong đó thùng chứa chính nó, và không ảnh hưởng đến hình ảnh ban đầu. Nếu bạn quyết định bạn muốn lưu những thay đổi, sau đó bạn có thể “cam kết” một container với hình ảnh Docker (thông qua lệnh cam docker). Điều này có nghĩa là bạn có thể sau đó đẻ trứng container mới bắt đầu với nội dung của container cũ của bạn, mà không ảnh hưởng đến Ban đầu container (hoặc hình ảnh). Nếu bạn quen với git sau đó công việc nên có vẻ khá tương tự như: bạn có thể tạo ra chi nhánh mới (hình ảnh trong Docker parlance) từ bất kỳ container. Chạy một hình ảnh là một chút giống như làm một git checkout.
Để tiếp tục tương tự, chạy một registry Docker riêng là giống như đang chạy một kho Git riêng cho hình ảnh Docker của bạn.
Bước 1–Cài đặt điều kiện tiên quyết
Bạn nên tạo một người sử dụng với sudo truy cập trên máy chủ đăng ký (và trên các khách hàng khi bạn nhận được mà đến nay).
Đăng ký Docker là một ứng dụng Python, vì vậy để có được nó và chạy chúng ta cần phải cài đặt các tiện ích phát triển Python và một vài thư viện:
sudo apt-get – y cài đặt cần thiết xây dựng python-dev libevent-dev python-pip liblzma-dev
Bước 2–Cài đặt và đặt cấu hình đăng ký Docker
Để cài đặt phiên bản ổn định mới nhất của registry Docker (0.7.3 tại thời điểm viết), chúng tôi sẽ sử dụng Python của gói phần mềm quản lý Tiện ích pip:
sudo pip cài đặt docker-đăng ký
Docker – đăng ký yêu cầu một tập tin cấu hình.
pip theo mặc định cài đặt tập tin cấu hình này ở một vị trí khá tối nghĩa, có thể khác nhau tùy thuộc vào cách Python của hệ thống được cài đặt. Vì vậy, để tìm con đường, chúng tôi sẽ cố gắng chạy registry và để cho nó khiếu nại:
gunicorn – truy cập-logfile ––gỡ lỗi -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application
Kể từ khi tập tin cấu hình không phải là ở đúng nơi, nhưng nó sẽ không bắt đầu và nhổ ra một thông báo lỗi có một FileNotFoundError trông như thế này:
FileNotFoundError: Heads-up! Tập tin là mất tích: /usr/local/lib/python2.7/dist-packages/docker_registry/lib/…/../Config/config.YML
Sổ đăng ký bao gồm một tập tin cấu hình mẫu được gọi là config_sample.yml tại cùng một con đường, vì vậy chúng tôi có thể sử dụng đường nó đã cho chúng tôi để xác định vị trí các tập tin mẫu.
Sao chép đường dẫn từ các thông báo lỗi (trong này trường hợp /usr/local/lib/python2.7/dist-packages/docker_registry/lib/…/../ config/config.yml), và loại bỏ phần config.yml vì vậy chúng tôi có thể thay đổi thư mục đó:
CD /usr/local/lib/python2.7/dist-packages/docker_registry/lib/…/../Config/
Bây giờ sao chép các tập tin config_sample.yml để config.yml:
sudo cp config_sample.yml config.yml
Các giá trị mặc định trong cấu hình mẫu cũng tốt, vì vậy không cần phải thay đổi bất cứ điều gì có. Cảm thấy miễn phí để xem xét thông qua chúng. Nếu bạn muốn làm một cái gì đó phức tạp hơn như sử dụng lưu trữ bên ngoài cho dữ liệu Docker, tập tin này là nơi để thiết lập nó. Đó là bên ngoài phạm vi của hướng dẫn này mặc dù, do đó bạn sẽ cần phải kiểm tra tài liệu docker-đăng ký nếu bạn muốn đi mà tuyến đường.
Bây giờ mà các cấu hình là ở đúng nơi chúng ta hãy cố gắng để kiểm tra các máy chủ một lần nữa:
gunicorn – truy cập-logfile ––gỡ lỗi -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application
Bạn sẽ thấy đầu ra trông như thế này:
2014-07-27 07:12:24 [29344] [thông tin] bắt đầu từ gunicorn 18.
Leave a Reply