About Me

header ads

Phần 2 – Cài đặt Docker trên Linux

 Bất kể phân phối của bạn là gì, bạn sẽ cần cài đặt 64 bit và kernel ở 3.10 hoặc mới hơn. Các kernel cũ hơn 3.10 không có các tính năng cần thiết mà Docker yêu cầu để chạy các thùng chứa; mất dữ liệu và hoảng loạn kernel xảy ra thường xuyên trong các điều kiện nhất định.

Kiểm tra phiên bản Linux hiện tại của bạn với uname -r. Bạn sẽ thấy một cái gì đó như 3.10.[alphanumeric string].x86_64.

Debian và Ubuntu

Docker chạy trên:

  • Ubuntu Xenial 16.04 LTS
  • Ubuntu Wily 15.10
  • Ubuntu Trusty 14.04 LTS
  • Ubuntu Precise 12.04 LTS
  • Debian testing stretch
  • Debian 8.0 Jessie
  • Debian 7.0 Wheezy (bạn phải enable backports)

Debian Wheezy

Nếu vậy, bạn cần kích hoạt backport (nếu không, bỏ qua phần này):

  • Đăng nhập vào hệ thống có đặc quyền sudohoặc root (hoặc chạy sudo -i từ terminal của bạn).
  • Mở /etc/apt/sources.list.d/backports.listbằng trình soạn thảo văn bản yêu thích của bạn (nếu tệp không tồn tại, hãy tạo nó).
  • Xóa các mục hiện có.
  • Thêm một mục nhập cho backport trên Debian Wheezy:
    deb http://http.debian.net/debian wheezy-backports main
  • Cập nhật các gói của bạn: apt-get update -y

Ubuntu Precise 12.04

Bạn cần chắc chắn rằng bạn đang có phiên bản kernel 3.13. Nếu không, bạn phải nâng cấp kernel của mình:

  • Mở terminal trên hệ thống của bạn.
  • Cập nhật aptitude:
    sudo apt-get update -y
  • Cài đặt các gói bổ sung:
    sudo apt-get install -y linux-image-generic-lts-trusty linux-headers-generic-lts-trusty
  • Trên môi trường Ubuntu đồ họa, bạn cần chạy thêm:
    sudo apt-get install -y xserver-xorg-lts-trusty libgl1-mesa-glx-lts-trusty
  • Khởi động lại hệ thống của bạn:
    sudo reboot

Cập nhật Aptitude

  • Đăng nhập vào hệ thống của bạn với user có sudođặc quyền.
  • Mở terminal.
  • Dọn dẹp các kho cũ:
    sudo apt-get purge -y lxc-docker* && sudo apt-get -y purge docker.io*
  • Cập nhật các gói của bạn, đảm bảo apthoạt động với httpsvà máy chủ có chứng chỉ CA:
    sudo apt-get update -y && sudo apt-get install -y apt-transport-https ca-certificates
  • Nhận key GPG mới:
    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  • Mở hoặc tạo tệp /etc/apt/sources.list.d/docker.listtrong trình soạn thảo văn bản yêu thích của bạn (bạn cần sudo hoặc rootcho việc này).
VersionSource
Ubuntu Precise 12.04 LTSdeb https://apt.dockerproject.org/repo ubuntu-precise main
Ubuntu Trusty 14.04 LTSdeb https://apt.dockerproject.org/repo ubuntu-trusty main
Ubuntu Wily 15.10 LTSdeb https://apt.dockerproject.org/repo ubuntu-wily main
Ubuntu Xenial 16.04 LTSdeb https://apt.dockerproject.org/repo ubuntu-xenial main
Debian Wheezydeb https://apt.dockerproject.org/repo debian-wheezy main
Debian Jessiedeb https://apt.dockerproject.org/repo debian-jessie main
Debian Stretch/Siddeb https://apt.dockerproject.org/repo debian-stretch main

Lưu và đóng tập tin.

  • Cập nhật lại apt:
    sudo apt-get update -y
  • Xác minh Aptitude kéo từ kho lưu trữ bên phải:
    sudo apt-cache policy docker-engine

Cài đặt Docker

Nếu bạn sử dụng Ubuntu Trusty, Wily hoặc Xenial, hãy cài đặt gói kernel linux-image-extra:

sudo apt-get update -y && sudo apt-get install -y linux-image-extra-$(uname -r)
  1. Cài đặt Docker:
    sudo apt-get install docker-engine -y
  2. Start Docker:
    sudo service docker start
  3. Xác minh việc cài đặt Docker:
    sudo docker run hello-world

Docker group

Nếu bạn thích, bạn có thể thiết lập một docker group để chạy Docker (thay vì root). Tuy nhiên , như docker phải có quyền truy cập sudo để dockernhận được quyền truy cập tương tự như root.

  • Chạy lệnh sau để tạo 1 group Docker trên Ubuntu:
    sudo groupadd docker && sudo usermod -aG docker ubuntu
  • Đăng xuất và đăng nhập lại.
  • Chạy lệnh sau để tạo Group Docker trên Debian:
    sudo groupadd docker && sudo gpasswd -a ${USER} docker && sudo service docker restart  ( Bạn có thể chỉ định một user thay vì ${USER} nếu bạn thích ).
  • Xác minh cài đặt Docker thành công:
    docker run hello-world

Red Hat Enterprise Linux (RHEL) và CentOS

Docker chạy trên RHEL 7 và CentOS 7.

Cài đặt Docker

Cài đặt với Yum

  • Đăng nhập vào hệ thống của bạn như một user với đặc quyền sudo.
  • Cập nhật hệ thống của bạn : sudo yum update -y.
  • Thêm repo yum (sử dụng mã dưới đây cho cả RHEL 7  CentOS 7):
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
  • Cài đặt Docker:
sudo yum install docker-engine -y
  • Start Docker:
sudo service docker start
  • Xác minh Docker:
sudo docker run hello-world

Cài đặt với tập lệnh cài đặt Docker

  • Đăng nhập vào hệ thống của bạn như một user với đặc quyền sudo.
  • Cập nhật hệ thống của bạn: sudo yum update -y
  • Chạy script cài đặt của Docker: curl -fsSL https://get.docker.com | sh; script lệnh này thêm docker.repo kho lưu trữ và cài đặt Docker.
  • Bắt đầu Docker: sudo service docker start
  • Xác minh Docker: sudo docker run hello-world

Docker Group

Nếu bạn thích, bạn có thể thiết lập một docker Group để chạy Docker (thay vì root). Tuy nhiên , như dockerphải có quyền truy cập sudo để dockernhận được quyền truy cập tương tự như root.

  • Chạy lệnh sau để tạo Group Docker và thêm user của bạn vào Group (thay thế USERNAME bằng tên user của bạn):
    sudo groupadd docker && sudo usermod -aG docker USERNAME
  • Đăng xuất và đăng nhập lại.
  • Xác minh Docker hoạt động mà không có sudo: docker run hello-world

Khởi động Docker khi khởi động

Chạy một trong những câu lệnh sau đây:

  • sudo chkconfig docker on
  • sudo systemctl enable docker

Các vấn đề chung

Ubuntu

Ubuntu Utopic 14.10 và 15.05 tồn tại trong kho apt của Docker mà không có hỗ trợ chính thức. Nâng cấp lên 15.10 hoặc [tốt nhất là] 16.04. Nếu bạn sử dụng Ubuntu 12.04, bạn cần cập nhật kernel của mình.

Debian

Nếu bạn chạy Debian Wheezy, bạn cần cập nhật các nguồn với backport.

“Cannot connect to the Docker daemon. Is ‘docker daemon’ running on this host?”

Nếu bạn gặp lỗi này, bạn cần hủy đặt DOCKER_HOST; chạy unset DOCKER_HOST để xóa biến.

Đăng nhận xét

0 Nhận xét