Cách triển khai Wordpress với Shipyard trên Ubuntu 14.04
Shipyard là một công cụ quản lý các server Docker. Docker là một phần mềm tiên tiến được sử dụng để chứa. Shipyard cho phép bạn xem từng server của bạn đang chạy những container nào, để bắt đầu hoặc dừng những container hiện có hoặc tạo những container mới.Khi bạn đã cài đặt Shipyard trên server của bạn , bạn có thể truy cập nó bằng giao diện đồ họa, giao diện dòng lệnh hoặc API. Shipyard thiếu một số tính năng nâng cao của các công cụ điều phối Docker khác, nhưng nó rất đơn giản để cài đặt , sử dụng miễn phí và bạn có thể tự quản lý và lưu trữ nó.
Hướng dẫn này bao gồm cách cài đặt Shipyard, kết nối nó với server Docker của bạn và sử dụng nó để tạo và chạy các containers mới. Cuối cùng, bạn nên có Shipyard chạy trên server của bạn để quản lý các server Docker của bạn.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
- Một server Ubuntu 14.04 với Docker image 1.5.0.
Bạn có thể tìm thấy tùy chọn Docker image 1.5.0 trên trang tạo server , trong tab Ứng dụng bên dưới Chọn hình ảnh . Bạn cũng có thể cài đặt Docker trên Server hiện có theo hướng dẫn này .
 Lưu ý : gói docker.io từ repository  chuẩn cho Ubuntu 14.04 đã rất cũ (phiên bản 0.9.1). Để sử dụng Shipyard, bạn cần cài đặt version  Docker mới nhất bằng một trong các phương pháp được liệt kê ở trên.
Bước 1 - Cài đặt Shipyard
 Trong bước này,  ta  sẽ cài đặt Shipyard. Tất cả các lệnh trong hướng dẫn này sẽ yêu cầu  quyền  root, vì vậy sẽ dễ dàng nhất chỉ cần đăng nhập vào Server  với quyền  là  user  root. Nếu bạn đã đăng nhập  với quyền   user  không phải root, bạn có thể chạy sudo su để chuyển sang  user  root.
Khi bạn đã chạy Docker, việc cài đặt Shipyard khá dễ dàng vì nó được vận chuyển dưới dạng Docker image . Tất cả những gì bạn cần làm là kéo hình ảnh từ register Docker và chạy các containers cần thiết. Đầu tiên ta sẽ tạo một vùng chứa data volumes để chứa dữ liệu database của Shipyard. Vùng chứa này sẽ không tự làm bất cứ điều gì; nó là một nhãn thuận tiện cho vị trí của tất cả dữ liệu của Shipyard.
docker create --name shipyard-rethinkdb-data shipyard/rethinkdb Bây giờ containers data volumes đã được tạo, ta có thể chạy server database cho Shipyard và liên kết chúng với nhau.
docker run -it -d --name shipyard-rethinkdb --restart=always --volumes-from shipyard-rethinkdb-data -p 127.0.0.1:49153:8080 -p 127.0.0.1:49154:28015 -p 127.0.0.1:29015:29015 shipyard/rethinkdb Điều này  chạy  một containers  đang chạy RethinkDB , một database  phân tán và  đảm bảo  nó chỉ có thể được truy cập local  trên chính  server . Nếu bạn cố gắng truy cập http:// your_server_ip :49153 trong trình duyệt  của bạn , bạn sẽ không thấy gì cả.
Bây giờ database của Shipyard đã hoàn tất, ta có thể tự vận hành Shipyard bằng cách chạy một container khác và liên kết nó với database .
docker run -it -p 8080:8080 -d --restart=always --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard Bây giờ  ta  có thể truy cập version  Shipyard đang chạy  của bạn  bằng cách sử dụng cổng 8080 .
Bước 2 - Truy cập Xưởng đóng tàu
Bây giờ Shipyard đang chạy, ta cần truy cập nó. Shipyard có thể được truy cập thông qua GUI, giao diện dòng lệnh (CLI) hoặc API. Ta sẽ bắt đầu bằng cách truy cập CLI.
Tiếp cận xưởng đóng tàu bằng CLI
Ta có thể truy cập vào Shipyard CLI bằng cách chạy một container khác.
docker run -ti --rm shipyard/shipyard-cli Cờ -ti đảm bảo containers  có tính tương tác và cờ --rm làm cho containers  này trở thành containers  dùng một lần,  nghĩa là  nó sẽ tự động bị xóa sau khi  ta  xử lý xong.
  Đến đây bạn  sẽ thấy  dấu nhắc  Shipyard CLI, trông giống như sau: shipyard cli> . Để có được danh sách các lệnh có sẵn, bạn có thể nhập shipyard help .
Dấu nhắc lệnh này chưa được kết nối với version Shipyard mà ta đã cài đặt ở bước 1, vì vậy trước tiên hãy kết nối nó:
shipyard login Nó sẽ nhắc bạn nhập URL. Nhập http:// your_server_ip :8080 . Tiếp theo, bạn sẽ  được yêu cầu  nhập tên  user  và password . Tên  user  và password  được đặt theo mặc định; nhập admin cho tên  user  và shipyard cho password . Sau đó, bạn sẽ được đưa trở lại  dấu nhắc  Shipyard.
Đến đây bạn đã đăng nhập vào version Shipyard của bạn với quyền là administrator . Để lại password mặc định là một rủi ro bảo mật rất lớn, vì vậy hãy thay đổi nó.
shipyard change-password Bạn cần chọn và xác nhận password mới của bạn . Đảm bảo password mới của bạn an toàn và bạn có thể nhớ password đó. Đến đây bạn có thể nhấn CTRL + D để thoát khỏi Shipyard CLI.
Vì dòng lệnh Shipyard phải được kết nối với version Shipyard của bạn mỗi lần, bạn có thể chạy dòng lệnh Shipyard trên bất kỳ hệ thống nào có khả năng chạy Docker container và kết nối nó với version Shipyard đang chạy trên server của bạn.
Truy cập Xưởng đóng tàu bằng GUI
 Tiếp theo,  ta  sẽ xem xét giao diện đồ họa của Shipyard. Để truy cập nó, hãy mở http:// your_server_ip :8080 trong trình duyệt của bạn. Điều này sẽ hiển thị cho bạn màn hình đăng nhập. Sử dụng tên  user  admin và password  mới bạn đã chọn.
Khi bạn đã đăng nhập, Shipyard sẽ hiển thị tab Động cơ và cảnh báo bạn rằng chưa có động cơ nào trong cụm Shipyard của bạn. Công cụ là một server Docker có khả năng chạy các containers . Ở đây ta sẽ thêm từng server Docker mà bạn muốn quản lý bằng Shipyard.
Bước 3 - Thêm động cơ
Server mà ta vừa triển khai Shipyard trên cũng là một server Docker, vì vậy ta sẽ có thể quản lý nó với Shipyard. Trước khi ta có thể làm điều đó; tuy nhiên, ta cần thêm server vào Shipyard làm động cơ.
 Theo mặc định, Docker được  cấu hình  để lắng nghe trên Unix socket /var/run/docker.sock , nhưng không thể truy cập socket đó từ version  Shipyard của  ta .  Ta   cần   cấu hình  Docker để cũng lắng nghe các yêu cầu trên một cổng. Để thực hiện việc này, hãy chỉnh sửa file  cấu hình Docker bằng editor  yêu thích của bạn. (Ở đây,  ta  sử dụng nano .)
nano /etc/default/docker Ở cuối, thêm dòng này:
DOCKER_OPTS="-H tcp://your_server_ip:4243 -H unix:///var/run/docker.sock" Điều này sẽ  đảm bảo  Docker chấp nhận các kết nối trên cổng 4243 , nhưng chỉ từ chính  server  của bạn. Bây giờ khởi động lại Docker để tải cấu hình mới:
service docker restart Điều này cũng sẽ khởi động lại các  container  Shipyard của bạn. Vì  ta  đã chạy các containers  với --restart=always nên chúng sẽ tự động  backup . Bạn có thể xác minh điều này  bằng lệnh: 
docker ps Nếu vì lý do nào đó mà các  container  của Shipyard không khởi động lại, bạn có thể khởi động lại chúng theo cách thủ công bằng cách chạy docker start shipyard-rethinkdb shipyard .
Bây giờ server Docker của bạn đã được cấu hình đúng, ta có thể thêm nó vào Shipyard làm động cơ. Truy cập GUI Shipyard của bạn và chuyển đến tab Động cơ . Nhấp vào nút + Thêm . Nó sẽ trông giống thế này:
Thêm các trường sau.
- Tên : Sử dụng tên cho phép bạn nhận ra động cơ là Server hiện tại của bạn, như tên server của Server.
- Nhãn : Các nhãn bạn thêm vào công cụ của bạn sẽ cho phép bạn kiểm soát những containers nào được phép chạy trên nó. Tùy thuộc vào những gì bạn muốn sử dụng Server này, bạn có thể sử dụng các nhãn như production hoặc thử nghiệm.
-  Địa chỉ : Sử dụng cổng Docker mà  ta  vừa mở: http:// your_server_ip :4243
Bây giờ hãy nhấp vào nút Thêm ở dưới cùng. Shipyard bây giờ sẽ kết nối với server Docker của bạn, xác minh kết nối và thêm nó làm động cơ. Sau khi hoàn tất, bạn sẽ được chuyển hướng trở lại tab Động cơ . Lúc đầu, động cơ sẽ được liệt kê là offline . Chờ một hoặc hai giây và làm mới trang, và bây giờ bạn có thể xem chi tiết về server Docker của bạn .
Bước 4 - Triển khai container bằng xưởng đóng tàu
Bây giờ ta đã thêm server Docker của bạn vào Shipyard làm động cơ, ta có thể sử dụng Shipyard để khởi động, dừng và triển khai các container.
Truy cập GUI Shipyard và xem tab Container . Điều này liệt kê tất cả các containers đang chạy trên mọi server Docker mà bạn đã thêm vào Shipyard. Nếu bạn không làm gì khác, tab này sẽ hiển thị ít nhất ba containers , trong đó hai containers đang chạy:
Hãy thử triển khai một blog Wordpress mới. Sử dụng hình ảnh repo Docker chính thức, ta cần triển khai containers MySQL và Wordpress.
Nhấp vào nút + Triển khai . Màn hình tiếp theo sẽ cho phép ta cấu hình containers để triển khai. Nhập thông tin vào các trường được chỉ định bên dưới.
-  Hình ảnh : Nhập mariadb. (MariaDB là một nhánh open-souce của MySQL.)
-  Tên containers  : Bạn có thể sử dụng bất cứ thứ gì bạn thích, ví dụ: mysql-test.
-  Môi trường : Mô tả hình ảnh sẽ cho bạn biết bạn có thể sử dụng biến môi trường nào. Trong trường hợp này, hãy sử dụng MYSQL_ROOT_PASSWORD=6f23b328e7.
-  Loại : Điều này xác định cách containers  sẽ được triển khai trên nhiều công cụ. Trong trường hợp này, hãy sử dụng service.
- Nhãn : Điều này sẽ được sử dụng để khớp các container với động cơ. Chỉ cần kiểm tra một trong các nhãn bạn đã gán cho công cụ của bạn .
-  Chính sách Khởi động lại : Điều này xác định xem containers  sẽ được tự động khởi động lại sau khi có lỗi hay docker khởi động lại. Trong trường hợp này, hãy để nó ở no.
 Bây giờ hãy nhấp vào Triển khai . Sẽ mất một lúc để containers   chạy . Bạn sẽ được chuyển hướng trở lại danh sách containers , danh sách này bây giờ sẽ có một containers  có tên mysql-test (hoặc bất kỳ tên nào bạn đã sử dụng) trong đó.
Bạn vừa triển khai containers Docker đầu tiên của bạn bằng Shipyard!
Bây giờ ta sẽ sử dụng cùng một quy trình để triển khai một containers WordPress, được liên kết với containers MySQL của ta .Nhấp lại vào nút + Triển khai và điền vào thông tin sau:
-  Hình ảnh : wordpress
-  Tên : wordpress-test
-  Liên kết : mysql-test :mysql
-  Loại hình : service
- Nhãn : Kiểm tra bất kỳ nhãn nào bạn đã sử dụng cho động cơ của bạn .
-  Khởi động lại policy : Để lại này trên no.
 Còn một việc nữa phải làm:  ta  muốn có thể truy cập nội dung web của containers  WordPress này từ mọi nơi, vì vậy  ta  phải để lộ cổng 80 của nó. Để thực hiện việc này, hãy nhấp vào dấu cộng bên cạnh Cổng tiêu đề. 
Chọn TCP trong Giao thức , để trống IP , nhập 1234 làm Cổng và 80 làm Cổng containers .
  Đến đây bạn  có thể nhấp vào Triển khai .   , sẽ mất một lúc trước khi bạn được chuyển hướng trở lại danh sách containers . Danh sách bây giờ cũng sẽ hiển thị một containers  có tên là wordpress-test . Nhấp vào liên kết bên cạnh nó để xem thêm chi tiết. 
 Trong Cổng , bạn sẽ thấy rằng cổng 80 của containers  WordPress hiện đã được xuất bản lên cổng 1234 của  server  của bạn. Shipyard rất hữu ích trong việc trực tiếp biến danh sách này thành một liên kết có thể nhấp được mà bạn có thể sử dụng để đi đến địa chỉ đã xuất bản.
Nhấp vào liên kết này. Thao tác này sẽ đưa bạn đến trình hướng dẫn cài đặt WordPress. Sau khi điền vào các trường trên trang đó, bạn có thể đăng nhập vào blog WordPress hoàn toàn mới của bạn và cũng có thể xem nó như một trang web.
Kết luận
Như vậy, bạn đã sử dụng thành công Shipyard để triển khai một ứng dụng thực tế trên server Docker của bạn !
Bạn có Shipyard đang hoạt động trên server của bạn . Bạn cũng có thể cấu hình các server bổ sung với Docker và kết nối chúng với version Shipyard của bạn để quản lý. Bạn cũng đã học cách kết nối với version Shipyard của bạn bằng CLI và GUI, đồng thời học cách triển khai các containers mới trên server Docker của bạn bằng GUI.
Như vậy, bạn có thể thoải mái dùng thử bất kỳ ứng dụng web nào trong số hàng nghìn ứng dụng web có sẵn trên Docker Registry . Ví dụ: bạn có thể triển khai containers Nginx để lưu trữ blog WordPress mới của bạn trên một URL dễ đọc hơn như được mô tả trong hướng dẫn này .
Các tin liên quan
Cách quản lý Jenkins với Rancher trên Ubuntu 14.042015-03-25
Cách cài đặt Sandstorm trên Ubuntu 14.04
2015-03-19
Cách bảo vệ thông tin đăng nhập tài khoản WordPress của bạn với xác thực hai yếu tố trên Ubuntu 14.04
2015-03-16
Cách cài đặt Ruby on Rails với rbenv trên Ubuntu 14.04
2015-03-13
Cách thiết lập Gog trên Ubuntu 14.04
2015-03-11
Cách thiết lập hệ thống quản lý cấu hình Chef 12 trên server Ubuntu 14.04
2015-03-03
Cách cài đặt Nagios 4 và theo dõi server của bạn trên Ubuntu 14.04
2015-03-02
Cách cài đặt và cấu hình Sphinx trên Ubuntu 14.04
2015-02-18
Cách cài đặt MediaWiki trên Ubuntu 14.04
2015-02-06
Cách cài đặt phpBB trên Ubuntu 14.04
2015-02-04
 

