Làm cách nào để Dockerize một chương trình Python?

Bài viết này nhằm mục đích phác thảo những điều cơ bản về docker và tìm hiểu cách xây dựng một image chạy ứng dụng Python trong một container

Docker là gì?

Nó là một nền tảng để phát triển, vận chuyển và chạy các ứng dụng. Nói một cách đơn giản, bạn có thể xây dựng ứng dụng của mình, đóng gói chúng cùng với các phần phụ thuộc của chúng vào một thùng chứa, sau đó các thùng chứa này có thể được vận chuyển để chạy trên các máy khác

thuật ngữ chính

  • Dockerfile- Một tệp văn bản bao gồm các hướng dẫn và đối số. Nó thông báo cho Docker cách hình ảnh sẽ được xây dựng
  • Hình ảnh- Đây là mẫu chỉ đọc có hướng dẫn tạo vùng chứa. Mỗi hướng dẫn trong Dockerfile tạo một lớp trong hình ảnh
  • Container- Đó là một phiên bản đang chạy của một hình ảnh. Nó được xác định rõ bởi hình ảnh của nó cũng như bất kỳ tùy chọn cấu hình nào được cung cấp để tạo hoặc bắt đầu

Cách chứa các ứng dụng Python

Bước 1. Tạo một thư mục trong thư mục cục bộ. Tôi đã tạo một thư mục có tên là “python-docker”

Bước 2. Tạo tập lệnh python [chính. py] sẽ được chạy và lưu nó trong cùng một thư mục

Để chứng minh, tôi đã tiếp tục và thêm một số mã Python tùy chỉnh vào giao diện chính. tập tin py. Tập lệnh sẽ hiển thị một vòng tròn màu cam cơ bản ở giữa màn hình bằng thư viện pygame. Bạn có thể chạy bất kỳ tập lệnh/mã nào bạn muốn.

# Simple pygame program

# Import and initialize the pygame library
import pygame
pygame.init[]

# Set up the drawing window
screen = pygame.display.set_mode[[500, 500]]

# Running the game until the user asks to quit
running = True
while running:

    # creating an if statement for the close button
    for event in pygame.event.get[]:
        if event.type == pygame.QUIT:
            running = False

    # Filling the background color with a gray
    screen.fill[[55, 55, 55]]

    # Drawing a solid purple circle in the center
    pygame.draw.circle[screen, [0, 0, 251], [251, 251], 74]
    # Flip the display
    pygame.display.flip[]

# Done! Time to quit.
pygame.quit[]

Bước 3. Tạo tên tệp “dockerfile” trong cùng thư mục với tập lệnh python của chúng tôi

Dockerfile là một tập lệnh chứa mã được thực thi theo trình tự để tạo ra một hình ảnh Docker mới, về cơ bản là một tập hợp các tệp thực thi được tập hợp bên trong một tập hợp các tệp thực thi khác. Trong tệp docker, chúng ta phải phân biệt giữa ba thứ khác nhau.  

  1. tập tin docker. tệp docker là bản thiết kế để xây dựng hình ảnh docker
  2. hình ảnh docker. một hình ảnh docker là một mẫu đơn giản để chạy các thùng chứa docker
  3. bộ chứa docker. bộ chứa docker là quy trình đang chạy thực tế nơi chúng tôi có dự án gói của mình

Để tạo một Dockerfile để build Docker Images, bạn sẽ cần sử dụng một số lệnh cơ bản

TỪ. Lệnh TỪ rất quan trọng vì nó đặt nền tảng cho hình ảnh cơ sở mà bạn đang tạo. Và phải được đặt ở đầu Dockerfile

CHẠY. Lệnh này là một bước trong quy trình xây dựng hình ảnh Docker. Đó là một cách để cài đặt các gói bổ sung cần thiết để hình ảnh Docker của bạn chạy tốt.

cmd. Lệnh CMD được sử dụng để xác định lệnh mặc định sẽ được thực thi khi chạy vùng chứa. Lệnh này được thêm bao nhiêu lần không quan trọng vì chỉ lệnh cuối cùng mới được chạy.

CỘNG. THÊM cho phép bạn sao chép tệp từ URL sang hình ảnh Docker của bạn, từ 'src' đến đường dẫn tuyệt đối 'dest'. Ngoài ra, bạn có thể thiết lập quyền sở hữu mặc định trên các tệp mới

Viết code trong dockerfile

#Specifying the base image
FROM python:3.10
#here the dockerfile is pulling the python 3.10 from docker hub which already has python installed so we have all the things we need to have python in our container.

ADD main.py.
#Here we added the python file that we want to run in docker and define its location.

RUN pip install requests pygame
#Here we installed the dependencies, we are using the pygame library in our main.py file so we have to use the pip command for installing the library

CMD [ "python3" "./main.py" ]
#lastly we specified the entry command this line is simply running python ./main.py in our container terminal

Bước 4. Tạo một hình ảnh docker

Lệnh sau sẽ tạo hình ảnh docker. Bạn có thể sử dụng bất kỳ tên nào cho hình ảnh docker mà tôi đang sử dụng trò chơi python

docker image build -t python-game 

Để xác minh rằng hình ảnh đã được tạo, hãy chạy lệnh sau.

docker images

Bạn cũng có thể định cấu hình và truy cập hình ảnh cũng như tệp của mình thông qua phần mềm docker desktop và tải chúng lên Docker Hub bằng cách tạo và đăng nhập vào tài khoản của bạn.

Để chạy hình ảnh docker, hãy sử dụng lệnh sau

docker run python-game

Lời cuối

Nếu bạn đang tìm cách xây dựng một ứng dụng cho chính mình hoặc khách hàng của mình, bạn sẽ cần phải căng thẳng kiểm tra sản phẩm và triển khai nó trong môi trường trực tiếp trước ngày ra mắt chính thức. Có nhiều cách để bạn có thể thực hiện việc này, nhưng một trong những cách hiệu quả nhất là triển khai ứng dụng của bạn lên đám mây bằng Docker. Tóm lại, Docker đã trở thành một công cụ phát triển bắt buộc phải có cho các nhà phát triển Python và vượt xa việc cung cấp dịch vụ cho khách hàng. Với kiến ​​trúc sẵn sàng sản xuất, nó cung cấp một cơ sở hạ tầng ấn tượng từ trải nghiệm. Vì vậy đây là

cách chạy tập lệnh Python của tôi trên Docker

Chúng tôi hy vọng bạn thích bài viết của chúng tôi về cách chạy ứng dụng Python trong bộ chứa Docker. Với kiến ​​thức này, chúng tôi biết rằng bạn có thể tận hưởng những lợi ích của việc sử dụng Docker cho các ứng dụng Python của mình

Làm cách nào để cập nhật mã Python?

Đây là giao diện của nó trong thực tế. .
Tạo một dự án mới, được đặt tên trong trình chỉnh sửa của bạn
Tạo thư mục mới của bạn bằng cách tạo thư mục dự án gốc mới trong thanh bên và đặt tên cho nó
Mở một không gian làm việc mới có tên chính. py
Nhập lệnh cd [tên thư mục gốc] trong Terminal để truy cập vào thư mục mới của bạn

Làm cách nào để cài đặt Python bằng Dockerfile?

Tạo Dockerfile .
TỪ con trăn. 3. .
THÊM my_script. py /.
CHẠY pip cài đặt pystrich. .
CMD [ "con trăn", ". /my_script. py" ].
TỪ con trăn. 3 THÊM my_script. py / CHẠY pip cài đặt pystrich CMD [ "trăn", ". /my_script. py" ]

Làm cách nào để chứa một ứng dụng bằng Docker?

Lệnh 'RUN' sẽ chạy một lệnh. Trong trường hợp này, lệnh 'pip install'. Hướng dẫn 'EXPOSE' sẽ hiển thị cổng 5000 dưới dạng trình kết nối với hình ảnh docker. Cuối cùng, lệnh 'CMD' sẽ chạy một lệnh. .
Cài đặt Docker
Tạo một tệp có tên Dockerfile
xây dựng hình ảnh
Chạy hình ảnh

Chủ Đề