Android

Cách cài đặt và sử dụng docker trên centos 7

Docker Networking Tutorial | Container Network Model | Docker Tutorial For Beginners | Simplilearn

Docker Networking Tutorial | Container Network Model | Docker Tutorial For Beginners | Simplilearn

Mục lục:

Anonim

Docker là một công nghệ container hóa cho phép bạn nhanh chóng xây dựng, kiểm tra và triển khai các ứng dụng dưới dạng các thùng chứa di động, tự cung cấp, có thể chạy hầu như mọi nơi.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Docker CE trên CentOS 7 và khám phá các khái niệm và lệnh cơ bản của Docker.

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

Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo rằng các điều kiện tiên quyết sau được đáp ứng:

  • Máy chủ CentOS 7 Bạn đã đăng nhập với tư cách là người dùng không root với các đặc quyền sudo. Bạn kiểm tra hướng dẫn này về cách tạo người dùng sudo mới.

Cài đặt Docker trên CentOS

Mặc dù gói Docker có sẵn trong kho lưu trữ chính thức của CentOS 7, nhưng nó có thể không phải luôn luôn là phiên bản mới nhất. Cách tiếp cận được đề xuất là cài đặt Docker từ kho của Docker.

Để cài đặt Docker trên máy chủ CentOS 7 của bạn, hãy làm theo các bước dưới đây:

  1. Bắt đầu bằng cách cập nhật các gói hệ thống của bạn và cài đặt các phụ thuộc cần thiết:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    Tiếp theo, chạy lệnh sau sẽ thêm kho lưu trữ ổn định Docker vào hệ thống của bạn:

    sudo yum-config-manager --add-repo

    Bây giờ, kho Docker đã được bật, hãy cài đặt phiên bản Docker CE (Phiên bản cộng đồng) mới nhất bằng cách sử dụng yum bằng cách nhập:

    sudo yum install docker-ce

    Khi gói Docker được cài đặt, hãy khởi động trình nền Docker và cho phép nó tự động khởi động khi khởi động:

    sudo systemctl start docker sudo systemctl enable docker

    Để xác minh rằng dịch vụ Docker đang chạy loại:

    sudo systemctl status docker

    Đầu ra sẽ trông giống như thế này:

    ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml

    Tại thời điểm viết, phiên bản ổn định hiện tại của Docker là, 18.06.1 , để in loại phiên bản Docker:

    docker -v

    Docker version 18.06.1-ce, build e68fc7a

Thực hiện lệnh Docker không có Sudo

Theo quản lý mặc định, Docker yêu cầu quyền quản trị viên. Nếu bạn muốn chạy các lệnh Docker với tư cách là người dùng không root mà không cần thêm sudo bạn cần thêm người dùng của mình vào nhóm docker được tạo trong quá trình cài đặt gói Docker CE. Bạn có thể làm điều đó bằng cách gõ:

sudo usermod -aG docker $USER

$USER là một biến môi trường chứa tên người dùng của bạn.

Đăng xuất và đăng nhập lại để thành viên nhóm được làm mới.

Để xác minh Docker được cài đặt thành công và bạn có thể chạy các lệnh docker mà không cần sudo, hãy đưa ra lệnh sau đây sẽ tải xuống một hình ảnh thử nghiệm, chạy nó trong một thùng chứa, in một tin nhắn Hello Hello từ tin nhắn Docker và thoát:

docker container run hello-world

Đầu ra sẽ trông như sau:

Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.

Giao diện dòng lệnh Docker

Bây giờ chúng ta đã có một bản cài đặt Docker hoạt động, chúng ta hãy đi qua cú pháp cơ bản của docker CLI.

Dòng lệnh docker có dạng sau:

docker

Bạn có thể liệt kê tất cả các lệnh có sẵn bằng cách gõ docker không có tham số:

docker

docker --help

Hình ảnh Docker

Hình ảnh Docker được tạo thành từ một loạt các lớp biểu thị các hướng dẫn trong Dockerfile của hình ảnh tạo nên một ứng dụng phần mềm thực thi. Hình ảnh là một tệp nhị phân bất biến bao gồm ứng dụng và tất cả các phụ thuộc khác như nhị phân, thư viện và các hướng dẫn cần thiết để chạy ứng dụng. Nói tóm lại, hình ảnh Docker về cơ bản là ảnh chụp nhanh của container Docker.

Docker Hub là dịch vụ đăng ký dựa trên đám mây, trong số các chức năng khác được sử dụng để lưu giữ hình ảnh Docker trong kho lưu trữ công cộng hoặc riêng tư.

Để tìm kiếm kho Docker Hub cho một hình ảnh, chỉ cần sử dụng tiểu ban search . Ví dụ: để tìm kiếm hình ảnh CentOS, hãy chạy:

docker search centos

Đầu ra sẽ trông như sau:

NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39

Như bạn có thể thấy kết quả tìm kiếm in một bảng có năm cột, NAME , DESCRIPTION , STARS , OFFICIAL AUTOMATED . Hình ảnh chính thức là hình ảnh mà Docker phát triển kết hợp với các đối tác ngược dòng.

Nếu chúng tôi muốn tải xuống bản dựng chính thức của CentOS 7, chúng tôi có thể làm điều đó bằng cách sử dụng tiểu ban image pull :

docker image pull centos

Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest

Tùy thuộc vào tốc độ Internet của bạn, quá trình tải xuống có thể mất vài giây hoặc vài phút. Khi hình ảnh được tải xuống, chúng tôi có thể liệt kê các hình ảnh với:

docker image ls

Đầu ra sẽ trông giống như sau:

REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB

Nếu vì lý do nào đó bạn muốn xóa một hình ảnh, bạn có thể làm điều đó với tiểu ban image rm :

docker image rm centos

Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Docker container

Một thể hiện của một hình ảnh được gọi là một thùng chứa. Một thùng chứa đại diện cho thời gian chạy cho một ứng dụng, quy trình hoặc dịch vụ.

Nó có thể không phải là sự so sánh thích hợp nhất nhưng nếu bạn là một lập trình viên, bạn có thể nghĩ hình ảnh Docker là lớp và bộ chứa Docker như một thể hiện của một lớp.

Chúng ta có thể bắt đầu, dừng, loại bỏ và quản lý một container với tiểu ban docker container docker.

Lệnh sau sẽ khởi động bộ chứa Docker dựa trên hình ảnh CentoOS. Nếu bạn không có hình ảnh cục bộ, nó sẽ tải xuống trước:

docker container run centos

Ngay từ cái nhìn đầu tiên, có vẻ như bạn không có gì xảy ra cả. Vâng, đó không phải là sự thật. Bộ chứa CentOS dừng ngay lập tức sau khi khởi động vì nó không có quá trình chạy dài và chúng tôi không cung cấp bất kỳ lệnh nào, vì vậy bộ chứa đã khởi động, chạy một lệnh trống và sau đó thoát.

Switch -it cho phép chúng ta tương tác với container thông qua dòng lệnh. Để bắt đầu một loại container tương tác:

docker container run -it centos /bin/bash

Như bạn có thể thấy từ đầu ra khi container được khởi động, dấu nhắc lệnh được thay đổi, điều đó có nghĩa là bạn hiện đang làm việc từ bên trong container:

#

Để liệt kê các container đang chạy:, gõ:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli Nếu bạn không có bất kỳ container đang chạy, đầu ra sẽ trống.

Để xem cả container đang chạy và đã dừng, hãy chuyển qua công tắc -a :

docker container ls -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon

Để xóa một hoặc nhiều container, chỉ cần sao chép ID container (hoặc ID) từ phía trên và dán chúng sau tiểu ban container rm :

docker container rm c55680af670c

Phần kết luận

Bạn đã tìm hiểu cách cài đặt Docker trên máy CentOS 7 của mình và cách tải xuống hình ảnh Docker và quản lý các container Docker. Bạn cũng có thể muốn đọc về Docker Compose, cho phép bạn xác định và chạy các ứng dụng Docker đa container.

Hướng dẫn này hầu như không làm trầy xước bề mặt của hệ sinh thái Docker. Trong một số bài viết tiếp theo của chúng tôi, chúng tôi sẽ tiếp tục đi sâu vào các khía cạnh khác của Docker. Để tìm hiểu thêm về Docker, hãy xem tài liệu chính thức của Docker.

trung tâm bến tàu