(+84) 236.3827111 ex. 402

Cung cấp và quản lý máy chủ Docker từ xa với Docker máy trên Ubuntu 18.04 - Phần 1


Giới thiệu

Docker Machine là một công cụ giúp dễ dàng cung cấp và quản lý nhiều máy chủ Docker từ xa từ máy tính cá nhân của bạn. Các máy chủ như vậy thường được gọi là các máy chủ Dockerized và được sử dụng để chạy các thùng chứa Docker.

Docker Machine có thể được cài đặt trên một hệ thống cục bộ hoặc từ xa, cách tiếp cận phổ biến nhất là cài đặt nó trên máy tính cục bộ của bạn (cài đặt gốc hoặc máy ảo) và sử dụng nó để cung cấp các máy chủ từ xa Dockerized.

Mặc dù Docker Machine có thể được cài đặt trên hầu hết các bản phân phối Linux cũng như macOS và Windows, trong hướng dẫn này, bạn sẽ cài đặt nó trên máy cục bộ chạy Ubuntu 18.04 và sử dụng nó để cung cấp Dockerized DigitalOcean Droplets. Nếu bạn không có máy cục bộ Ubuntu 18.04, bạn có thể làm theo các hướng dẫn này trên bất kỳ máy chủ Ubuntu 18.04 nào.

Điều kiện tiên quyết

Để thực hiện theo hướng dẫn này, bạn cần đáp ứng những điều sau đây:

  • Một máy hoặc máy chủ cục bộ chạy Ubuntu 18.04 với Docker được cài đặt.
  • Mã thông báo API DigitalOcean. Nếu bạn không có, hãy tạo nó bằng cách sử dụng hướng dẫn này . Khi bạn tạo một mã thông báo, hãy chắc chắn rằng nó có phạm vi đọc-ghi. Đó là mặc định, vì vậy nếu bạn không thay đổi bất kỳ tùy chọn nào trong lúc tạo, thì nó sẽ có khả năng đọc-ghi (read-write).

1 - Cài đặt Docker Machine

Để sử dụng Docker Machine, trước tiên bạn phải cài đặt nó cục bộ. Trên Ubuntu, điều này có nghĩa là Tải xuống với lệnh một số tập lệnh từ kho lưu trữ Docker chính thức trên GitHub.

Để Tải xuống với lệnh và cài đặt nhị phân Docker Machine, hãy nhập:

wget https://github.com/docker/machine/releases/download/v0.15.0/docker-machine-$(uname -s)-$(uname -m)

Tên của file phải là docker-machine-Linux-x86_64. Đổi tên nó thành docker-machine để làm việc dễ dàng hơn với lệnh sau:

mv docker-machine-Linux-x86_64 docker-machine

Thiết lập có thể thực thi được:

chmod +x docker-machine

Di chuyển hoặc sao chép nó vào thư mục /usr/local/bin để có sẵn như một lệnh hệ thống:

sudo mv docker-machine /usr/local/bin

Kiểm tra phiên bản, điều này sẽ cho biết rằng phiên bản đã được cài đặt đúng:

docker-machine version

Bạn sẽ thấy đầu ra tương tự như sau, hiển thị số phiên bản và bản dựng:

Output
docker-machine version 0.15.0, build b48dc28d

Docker Machine được cài đặt. Hãy cài đặt một số công cụ trợ giúp bổ sung để Docker Machine dễ dàng làm việc hơn.

2 - Cài đặt các kịch bản máy Docker bổ sung

Có ba tập lệnh Bash trong kho lưu trữ GitHub của Docker Machine mà bạn có thể cài đặt để làm việc với các lệnh docker docker-machine. Khi được cài đặt, các tập lệnh này cung cấp hoàn thành lệnh và tùy chỉnh nhanh chóng.

Trong bước này, bạn sẽ cài đặt ba tập lệnh này vào thư mục /etc/bash_completion.d trên máy cục bộ của bạn bằng cách tải chúng trực tiếp từ kho lưu trữ GitHub của Docker Machine.

Lưu ý: Trước khi Tải xuống với lệnh và cài đặt tập lệnh từ internet ở một vị trí trên toàn hệ thống, bạn nên kiểm tra nội dung của tập lệnh trước tiên bằng cách xem URL nguồn trong trình duyệt của bạn.

Tập lệnh đầu tiên cho phép bạn xem máy hiện hoạt trong lời nhắc của bạn. Điều này có ích khi bạn đang làm việc và chuyển đổi giữa nhiều máy Dockerized. Kịch bản được gọi docker-machine-prompt.bash. Tải xuống với lệnh

sudo wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine-prompt.bash -O /etc/bash_completion.d/docker-machine-prompt.bash

Để hoàn thành việc cài đặt file này, bạn phải sửa đổi giá trị cho biến PS1 trong file .bashrc. Các biến PS1 là một biến shell đặc biệt dùng để thay đổi dấu nhắc lệnh Bash. Mở ~/.bashrc trong trình chỉnh sửa của bạn:

nano ~/.bashrc

Trong file đó, có ba dòng bắt đầu bằng PS1. sẽ trông giống như sau:

~ / .bashrc

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
...
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
...
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

Đối với mỗi dòng, chèn $(__docker_machine_ps1 " [%s]") gần cuối, như hiển thị trong ví dụ sau:

~ / .bashrc

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__docker_machine_ps1 " [%s]")\$ '
...
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__docker_machine_ps1 " [%s]")\$ '
...
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$(__docker_machine_ps1 " [%s]")$PS1"

Lưu và đóng file.

Tập lệnh thứ hai được gọi docker-machine-wrapper.bash. Nó bổ sung thêm một use subcommand vào lệnh docker-machine, làm cho nó dễ dàng hơn đáng kể để chuyển đổi giữa các host Docker. Tải xuống với lệnh:

sudo wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine-wrapper.bash -O /etc/bash_completion.d/docker-machine-wrapper.bash

Tập lệnh thứ ba được gọi docker-machine.bash. Nó thêm hoàn thành bash cho docker-machine các lệnh. Tải xuống với lệnh:

sudo wget https://raw.githubusercontent.com/docker/machine/master/contrib/completion/bash/docker-machine.bash -O /etc/bash_completion.d/docker-machine.bash

Để áp dụng các thay đổi bạn đã thực hiện cho đến thời điểm này, hãy đóng, sau đó mở lại thiết bị đầu cuối của bạn. Nếu bạn đã đăng nhập vào máy thông qua SSH, hãy thoát khỏi phiên và đăng nhập lại, và bạn sẽ có lệnh hoàn thành cho các lệnh docker docker-machine.

Hãy kiểm tra mọi thứ bằng cách tạo một máy chủ Docker mới với Docker Machine.

>> Xem tiếp Phần 2