Chào các bạn,
Bài viết hôm nay sẽ hướng dẫn các bạn cài đặt và sử dụng Docker trên CentOS 7.
Contents
Giới thiệu về Docker
Khái niệm Docker đã quá quen thuộc và phổ biến với chúng ta trong thời gian gần đây, Docker được biết đến như là một công cụ giúp cho các Developer và System Admin đóng gói ứng dụng và deploy ở bất kỳ đâu một cách nhanh chóng và tiện lợi, ngoài ra Docker còn có các ưu điểm như:
Flexible : Các ứng dụng phức tạp và nhiều thành phần cũng có thể đóng gói được thành container
Lightweight : Triển khai ứng dụng trên Container tiêu tốn ít tài nguyên hơn để hoạt động
Interchangeable : Dễ dàng thay đổi và cập nhật configuration của ứng dụng
Portable : Bạn có thể dễ dàng di chuyển ứng dụng của bạn qua lại giữa các máy chủ khác nhau, từ localhost lên môi trường Production
Scalable : Bạn có thể tăng hoặc giảm số lượng container hoặc tự động deploy các container phục vụ cho ứng dụng
Stackable : Bạn có thể sử dụng nhiều container, mỗi container chạy một dịch vụ riêng biệt và liên kết chúng lại với nhau để tạo nên một stack hoàn chỉnh.
Cài đặt Docker trên CentOS 7
Docker hiện tại có 2 phiên bản Enterperise Edition(EE) và Community Edition(CE), bài hướng dẫn hôm nay sẽ hướng dẫn các bạn cài đặt Docker CE.
Cài đặt các package cần thiết
yum install -y yum-utils device-mapper-persistent-data lvm2
Thêm Repository của Docker vào yum
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Cài đặt DockerCE
yum install docker-ce docker -y
Start và Enable Docker khi khởi động
systemctl start docker systemctl enable docker
Sau khi cài đặt, các bạn chạy lệnh sau để kiểm tra Docker đã hoạt động
docker run hello-world
Sử dụng Docker
Trong phần này, chúng ta sẽ cùng đi qua một số lệnh cơ bản của Docker
Search Image
Docker Hub là một nơi lưu trữ các image của Docker, chúng ta có thể dùng lệnh docker search để tìm kiếm các image có sẵn, sau đó tải về và sử dụng
[root@localhost ~]# docker search centos INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos The official build of CentOS. 4914 [OK]
Lệnh search sẽ cho chúng ta kết quả các image phổ biến nhất, image OFFICIAL hoặc image custom bởi cộng đồng.
Pull Image
Để pull một image, chúng ta thực hiện bằng lệnh sau:
docker pull centos
Nếu chúng ta không khai báo tag version của image, Docker mặc định sẽ pull về version mới nhất tương đương
docker pull centos:latest
Để xem các version cũ hơn của image, các bạn có thể truy cập vào Docker Hub và search trên đó, sử dụng các tag cũ hơn để pull về version mà bạn muốn dùng
docker pull centos:centos6
Để xem lại các image hiện có trong máy, các bạn dùng lệnh
[root@localhost ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/centos centos6 0cbf37812bff 5 weeks ago 194 MB docker.io/centos latest 75835a67d134 5 weeks ago 200 MB
Run Containner
Để khởi động một container từ image đã pull về, các bạn có thể dùng lệnh sau
docker run -it centos
Option -i và -t sẽ cho chúng ta một giao diện shell để thao tác bên trong container, khi thoát khỏi giao diện shell này, các bạn sẽ stop luôn cả container
[root@b5bd83f4f4aa /]#
Commit Container
Để tạo sự thay đổi bên trong Container, các bạn thực hiện tạo 1 file
[root@b5bd83f4f4aa /]# echo Change > /1st-commit-change
Sau đó exit khỏi container và thực hiện commit
docker commit -m "1st Commit" [container ID] docker-1stcommit
Để xem Container ID, các bạn dùng lệnh
docker ps -a
Push Image
Để mang các image các bạn đã commit đi khắp thế gian, chúng ta có thể Push chúng lên trên Docker Hub, sau khi image của bạn đã được lưu trên Docker Hub, bạn có thể pull về để sử dụng ở bất cứ đâu
Đầu tiên các bạn phải đăng ký một tài khoản tại Docker Hub, sau đó login như sau:
docker login -u [username]
Sau khi login thành công, bạn dùng lệnh sau để push image
docker push [username]/docker-1stcommit
Kết luận
Bài viết này đã tổng kết được một số cách sử dụng Docker cơ bản, trong các bài viết tiếp theo, chúng ta sẽ cùng tìm hiểu sâu hơn về Docker và những gì bạn có thể làm được với nó, hẹn gặp lại các bạn ở bài viết tiếp theo, còn bây giờ thì PEACE OUT 😀
Leave A Comment?