Quay lại

Docker 2/DevOps/ triển khai tạo Image, Container trên Docker Chuyên mục Devops    2023-04-03    270 Lượt xem    33 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

Docker 2/DevOps/  triển khai tạo Image, Container trên  Docker

Hi lại là mình đây hôm nay mình sẽ hướng dẫn các bạn làm thế nào để triển khai tạo Image, Container&Docker cho dự án của bạn.

Như bài trước mình đã hướng dẫn các bạn cài đặt docker trên môi trường linux rồi , thì hôm nay mình sẽ tiếp tục dùng nó để chạy docker nhé ! Để hiểu rõ hơn về docker thì mình sẽ chia ra làm 2 cách chạy vì mình muốn cho các bạn hiểu rõ về thằng docker nên mình làm tất cả các cách để cho các bạn hình dung mọi cơ chế hoạt động của nó, OK, cách thứ nhất là triển khai image và container 1 cách thủ công , nghĩa là thay vì mình sử dụng dockerfile hay docker-compose.yml để tạo image và cài đặt môi trường thì mình sẽ phải trực tiếp vào trong container để thiết lập môi trường cũng như là cài đặt 1 số package cho dự án bằng cách chạy thủ công hay còn gọi chạy bằng cơm nhá. cách thứ 2 thì mình sẽ phải sử dụng dockerfile docker-compose.yml cách này mình sẽ hướng dẫn các bạn sau nhé ! nào let goooo

1.Triển khai image và container

Như các bạn đã biết khi bắt đầu 1 dự án thì việc đầu tiên các bạn sẽ phải chọn xem dùng hệ điều hành gì để cho nó phù hợp với ứng dụng của bạn đang phát triển đúng không nào ? Có rất nhiều sự lựa chọn cho bạn như window, linux , ubuntu, centos ... Như các bạn đã biết trên thư viện của docker đã có rất nhiều những image có chứa sẵn hệ điều hành  để cho chúng ta lựa chọn, các bạn chỉ cần dùng lệnh sau để tìm kiếm hệ điều hành và version tương thích nhé.

  • sudo docker search centos

Để mà không cần gõ lệnh sudo nhiều lần thì các bạn có thể chuyển qua  root user bằng cách gõ lệnh sau

  • sudo su -

Ok rồi tìm hệ điều hành của bạn nào :

Như các bạn đã thấy 1 loạt các image có sẵn được show ra , có rất nhiều những image mà các nhà phát triển tạo ra và chia sẻ public chúng , nhưng mình khuyên các bạn nên chọn cái đầu tiên với trạng thái OFFICAL là OK bởi vì cái này là image chính thức của docker hub .Ok để thực hành cho các bạn thấy thì mình sẽ xóa hết image của mình đi và làm lại từ đầu cho các bạn thấy, trước khi xóa hết các bạn có thể kiểm tra xem hiện tại mình đang có những images nào thì hãy dùng lệnh sau :

  • List các image đang có
    • docker image ls

Sau đó dùng lệnh để xóa toàn bộ images

  • Lệnh xóa toàn bộ image
    • docker rmi -f $(docker images -a -q)

Sau khi chạy lệnh trên thì toàn bộ images của bạn đã bị xóa, OK và bây giờ mình sẽ đi triển khai image và tạo container nào .

Để cài được image với hệ điều hành centos 7 ta có thể dùng lệnh sau

  • docker pull centos:7

Sau khi chạy xong bạn nên kiểm tra xem image hđh centos 7 đã được lấy về hay chưa nhé ! chạy lệnh docker image ls nhé ! nếu bạn có thấy 1 image với REPOSITORY name là Centos với TAG7 thì chúc mừng bạn đã pull về thành công rồi đó. Bây giờ chúng ta sẽ đi tạo các container thôi nào .

Trước khi tạo container thì mình xin được nhắc lại kiến thức 1 chút , chắc hẳn với 1 số các bạn sinh viên khi còn đi học thì chắc các bạn có nghe đến khái niệm VMware và Virtualbox rồi đúng không nào , khi chúng ta muốn sử dụng 1 máy chủ ảo trên môi trường window thì chúng ta hay sử dụng VMware , nhưng các bạn có biết để sử dụng được VMware chúng ta cần phải chia 1 phần ổ cứng cho nó vì vậy dẫn đến nó sẽ k được tối ưu hóa , nhưng với docker thì khác 1 chút nó tạo ra các container sử dụng chung RAM và CPU nó sẽ tối ưu hóa hơn , có thể chạy nhiều container trên 1 máy đó là điểm mạnh của docker. Thôi không lan man nữa , bắt tay đi tạo 1 container nào .

 Để tạo được 1 container thì các bạn chạy lệnh sau 

  • Chạy 1 container từ image
    • docker run --privileged -d -p 80:80 [Image Name] /sbin/init

Ở ví dụ này các bạn cần phải thay Image Name thành tên của image centos 7 mà các bạn pull về lúc nãy docker run --privileged -d -p 80:80 centos:7 /sbin/init

Sau khi tạo được 1 container rồi các bạn có thể dùng lệnh sau để kiểm tra xem những containers đang có :

  • docker ps

Như các bạn thấy mỗi một container đều có 1 thông số riêng để mình giải thích 1 chút nhé :

  • Container Id: Chính là Id của mỗi container , nó là unique
  • IMAGE: Nghĩa là container này được tạo ra từ image nào
  • CREATED : Thời gian tạo container
  • STATUS : Trạng thái đã chạy được bao lâu
  • PORTS: Giao thức mà docker đang chạy là gì 

Như các bạn thấy mỗi một container đều có 1 ID như mình đã khoanh đỏ , để vào được một container thì các bạn chạy lệnh sau: 

  • Vào container thì chạy lệnh
    • docker exec -it [Container ID] /bin/bash

Với [Container ID] như mình đã khoanh đỏ ở trên nhé !

 Khi vào trong container rồi các bạn thích cài php , python , hay nodejs thì tùy các bạn , các bạn sẽ cài trong cái container này , cái hay của cái container này là sau khi các bạn cài đặt xong môi trường thì các bạn đóng gói cái image này là để chuyển giao cho khách hàng hoặc thành viên trong team , thì các team khác sẽ không phải làm gì hết chỉ cần pull về rồi cài hoi .

OK bây giờ mình sẽ đi cài thử 1 cái web server cho các bạn nhé ! Mình đã có chuẩn bị lệnh rồi các bạn chỉ cần làm theo mình thôi, để cài được trước tiên các bạn phải vào container trước nhé !

  • Cài đặt apache
    • yum -y install httpd
    • systemctl start httpd
    • systemctl enable httpd

Còn tiếp...

 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday