Docker là gì? Từng bước tạo ứng dụng đầu tiên với Docker


1074

Docker là gì?

Docker là phần mềm miễn phí được phát triển bởi Docker Inc. Nó được trình làng vào ngày 13 tháng 3 năm 2013 và đã trở thành một phần bắt buộc trong thế giới phát triển CNTT.

Nó cho phép người dùng tạo các môi trường độc lập và tách biệt để khởi chạy và triển khai các ứng dụng của họ. Những môi trường này sau đó được gọi là container.

Điều này sẽ cho phép developer chạy một container trên bất kỳ máy nào.

Với Docker, không còn vấn đề phụ thuộc vào môi trường hay trình biên dịch nữa. Tất cả bạn phải làm là khởi chạy container của bạn và ứng dụng của bạn sẽ khởi chạy ngay lập tức.

Docker có phải là máy ảo không?

Đây là một trong những câu hỏi được hỏi nhiều nhất về Docker. Câu trả lời là: không hoàn toàn.

Nó có thể trông giống như một máy ảo lúc đầu, nhưng chức năng không giống nhau.

Không giống như Docker, một máy ảo sẽ bao gồm một hệ điều hành hoàn chỉnh. Nó sẽ hoạt động độc lập và hoạt động như một máy tính.

Docker sẽ chỉ chia sẻ tài nguyên của máy chủ để chạy môi trường của nó.

Docker VS Virtual Machines (Bản quyền cho blog Docker )

Tại sao developer nên sử dụng Docker ?

Công cụ này có thể thay đổi cuộc sống của bạn – developer. Dưới đây là danh sách các lợi ích nó mang đến cho bạn:

  • Docker khởi chạy ứng dụng rất nhanh. Không giống như một máy ảo, ứng dụng của bạn có thể khởi động sau vài giây và dừng lại nhanh chóng.
  • Docker là đa nền tảng. Bạn có thể khởi chạy container của bạn trên bất kỳ hệ thống nào.
  • Các container có thể được build và remove nhanh hơn một máy ảo.
  • Không còn rắc rối khi làm việc với nhiều môi trường khác nhau (dev – staging – production ). Khi Docker của bạn được cấu hình, bạn sẽ không bao giờ phải cài đặt lại các biến môi trường của mình một cách thủ công nữa. Nếu bạn thay đổi máy tính hoặc nếu một nhân viên mới gia nhập team, bạn chỉ phải cung cấp cho họ file config.
  • Docker giúp giữ cho workspace của bạn sạch sẽ, vì mỗi môi trường của bạn sẽ bị cô lập và bạn có thể xóa chúng bất cứ lúc nào mà không ảnh hưởng đến phần còn lại.
  • Sẽ dễ dàng hơn để triển khai dự án trên máy chủ production.

Bây giờ chúng ta hãy tạo ứng dụng đầu tiên.

Bạn đã biết Docker là gì, đã đến lúc tạo ứng dụng đầu tiên!

Chương trình này sẽ được khởi chạy thông qua Dockerfile. Chạy 1 chương trình python và in ra câu “hello world”

Lưu ý: Bạn sẽ không cần cài đặt Python trên máy tính của mình. Vi diệu!

1. Cài đặt Docker trên máy của bạn

  • Đối với Ubuntu:

Đầu tiên, cập nhật các package của bạn:

$ sudo apt update

Tiếp theo, cài đặt docker với apt-get:

$ sudo apt install docker.io

Cuối cùng, xác minh rằng Docker được cài đặt chính xác:

$ sudo docker run hello-world

2. Tạo project của bạn

Để tạo ứng dụng Docker đầu tiên của bạn, đầu tiên ta cần 1 folder mới chứa các tập tin sau:

  • ‘ main.py ‘ (file python sẽ chứa mã để được thực thi).
  • File ‘ Dockerfile ‘ ( chứa các hướng dẫn cần thiết để tạo container ).

Thông thường bạn nên có kiến ​​trúc thư mục này:

.
├── Dockerfile
└── main.py
0 directories, 2 files

3. Chỉnh sửa file Python

Bạn có thể thêm mã sau vào tệp ‘ main.py ‘:

#!/usr/bin/env python3
print("Docker is magic!")

4. Chỉnh sửa tập tin Docker

Bước đầu tiên cần thực hiện khi bạn tạo tệp Docker là truy cập trang web DockerHub . Trang web này chứa nhiều images được thiết kế sẵn để tiết kiệm thời gian của bạn (ví dụ: tất cả images cho Linux hoặc các ngôn ngữ khác ).

Trong trường hợp của chúng ta, tôi sẽ nhập ‘Python’ vào thanh tìm kiếm. Kết quả đầu tiên là officical images được tạo để thực thi Python. Ngọt nước!

# A dockerfile must always start by importing the base image.
# We use the keyword 'FROM' to do that.
# In our example, we want import the python image.
# So we write 'python' for the image name and 'latest' for the version.
FROM python:latest
# In order to launch our python code, we must import it into our image.
# We use the keyword 'ADD' to do that.
# The first parameter 'main.py' is the name of the file on the host.
# The second parameter '/' is the path where to put the file on the image.
# Here we put the file at the image root folder.
ADD main.py /
# We need to define the command to launch when we are going to run the image.
# We use the keyword 'CMD' to do that.
# The following command will execute "python ./main.py".
CMD [ "python", "./main.py" ]

5. Tạo 1 image Docker

Khi code của bạn đã sẵn sàng và Dockerfile được viết, tất cả những gì bạn phải làm là tạo image của mình để chứa ứng dụng của bạn.

$ docker build -t python-test . 

Các ‘ -t tùy chọn’ cho phép bạn xác định tên của hình ảnh của bạn. Trong trường hợp này, tôi đã chọn ‘ python-test ‘ nhưng bạn có thể đặt những gì bạn muốn.

6. Chạy thử image Docker

Khi image được tạo, ứng dụng của bạn đã sẵn sàng để được khởi chạy.

$ docker run python-test

Các lệnh hữu ích cho Docker

Tôi đã chuẩn bị một danh sách các lệnh có thể hữu ích cho bạn khi sử dụng Docker.

  • Liệt kê images
$ docker image ls
  • Xóa một image
$ docker image rm [image name]
  • Xóa tất cả các images trên máy
$ docker image rm $(docker images -a -q)
  • Liệt kê tất cả các container hiện có (chạy và không chạy).
$ docker ps -a
  • Thay đổi tên container trong thời gian chạy.
$ docker run --name [container name] [image name]
  • Dừng một container cụ thể.
$ docker stop [container name]
  • Dừng tất cả các container đang chạy.
$ docker stop $(docker ps -a -q)
  • Xóa một container cụ thể (chỉ khi dừng lại).
$ docker rm [tên container]
  • Xóa tất cả các container (chỉ khi dừng lại).
$ docker rm $ (docker ps -a -q)
  • Hiển thị nhật ký của một container.
$ docker log [tên container]

Kết luận

Bạn có thể tham khảo bài này mỗi khi bạn cần một ví dụ đơn giản và cụ thể về cách tạo ứng dụng Docker đầu tiên . Nếu bạn có bất kỳ câu hỏi hoặc phản hồi thì inbox tôi.


Like it? Share with your friends!

1074