Chạy bộ chứa docker bằng python

Docker Python là một công cụ mã nguồn mở và là một công-ten-nơ vận chuyển tiêu chuẩn. Công cụ này được sử dụng để tự động triển khai bất kỳ ứng dụng nào bên trong bộ chứa phần mềm

Hãy xem xét một tình huống khi chúng tôi phát triển ứng dụng của mình cung cấp tất cả các phụ thuộc như cơ sở dữ liệu, máy chủ web và các loại thư viện khác và nhận thấy rằng ứng dụng web của chúng tôi chỉ hoạt động trên máy tính của chúng tôi chứ không hoạt động trên máy của nhà phát triển hoặc QA. . Nói chung, để tránh những lỗi không mong muốn như vậy, chúng tôi sử dụng VM. Tuy nhiên, vấn đề chính là một “hệ điều hành bổ sung” trên hệ điều hành máy chủ sẽ bổ sung thêm hàng gigabyte dung lượng cho dự án của chúng tôi. Do đó, chúng tôi cần trả tiền cho các nhà cung cấp máy chủ dựa trên đám mây để có thêm không gian này.  

Docker chia sẻ tất cả kernel OS trên tất cả các container đang chạy dưới dạng các quy trình riêng biệt của OS máy chủ để loại bỏ tất cả các sự cố lưu trữ bổ sung này

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Chạy bộ chứa docker bằng python

Tầm quan trọng của Docker

Có nhiều lý do để sử dụng docker, chẳng hạn như

  • Quá trình phát triển nhanh
  • Dễ dàng mở rộng quy mô
  • Quy trình giám sát dễ dàng, rõ ràng
  • Nó hiển thị cùng một hành vi ứng dụng trong tất cả các máy chủ, chẳng hạn như máy chủ cục bộ, máy chủ dv, máy chủ sản xuất và máy chủ dàn dựng

Cài đặt

Chúng ta cần chạy tất cả các lệnh sau với quyền root để chạy Docker trong Linux

sudo usermod -aG docker $(whoami)`

thuật ngữ

Chúng ta phải làm quen với một số thuật ngữ để bắt đầu với Docker

  • Bộ chứa - Để đóng gói phần mềm cần thiết, chúng tôi cần phiên bản đang chạy này
  • Hình ảnh - Đây là thành phần cơ bản cho mọi vùng chứa
  • Cổng - Một cổng TCP/UDP. Điều này có thể được tiếp xúc với thế giới bên ngoài (có thể truy cập từ Hệ điều hành máy chủ) hoặc được kết nối với các vùng chứa khác
  • Âm lượng - Thư mục dùng chung có thể được mô tả thông qua điều này.  
  • Registry - Đây là máy chủ lưu trữ hình ảnh docker

Bây giờ chúng ta hãy thảo luận về Docker Hub

trung tâm docker

Trung tâm Docker được cung cấp bởi Docker Inc. cung cấp. Nó là một sổ đăng ký với một giao diện web. Một lượng lớn Docker image được lưu trữ ở đây với các phần mềm khác nhau. Có thể nói Docker hub là nguồn cung cấp image chính thức của Docker và chính Docker team đã thực hiện điều này với sự liên kết của các nhà sản xuất phần mềm gốc

Các hình ảnh chính thức liệt kê tất cả các lỗ hổng tiềm ẩn và tất cả thông tin này chỉ được cung cấp cho người dùng đã đăng nhập

Có hai loại tài khoản có sẵn trong Docker hub

  • một tài khoản miễn phí
  • tài khoản trả phí

Chỉ có một hình ảnh riêng tư khả dụng cho một tài khoản, trong khi chúng tôi có thể có vô số hình ảnh công khai cho mỗi tài khoản, miễn phí

Dockerfile cho Python

  • Dockerfiles trong Python cho phép chúng tôi tạo hình ảnh tùy chỉnh của mình.  
  • Tất cả các mô tả được cung cấp cho phần mềm tạo hình ảnh bởi các dockerfiles này.  
  • Tất cả các hướng dẫn cần thiết được cung cấp cho các tệp docker để chỉ định môi trường nào sẽ sử dụng và lệnh cụ thể nào sẽ chạy

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

Chạy bộ chứa docker bằng python

Cách tạo tệp Docker

Chúng ta phải bắt đầu với một thư mục mới và sạch sẽ. Trong ngữ cảnh này, thư mục có thể được định nghĩa là một thùng chứa tất cả những thứ cần thiết để xây dựng hình ảnh của chúng ta

Bạn có thể đặt tên cho thư mục bất cứ điều gì bạn muốn

Tiếp theo, chúng ta phải tạo một tệp văn bản trong thư mục có tên là Dockerfile. Các tệp cần được lưu dưới dạng “Tất cả các loại” trong cửa sổ và chúng ta cũng nên đặt tên tệp của mình trong dấu ngoặc kép để có thể tránh tự động thêm phần mở rộng. Bạn có thể sử dụng trình chỉnh sửa tệp văn bản mà bạn chọn, chẳng hạn như Sublime, Notepad ++, nano, v.v.

Là điểm khởi đầu của chúng tôi, chúng tôi có thể sử dụng hình ảnh Python 3 cơ bản của mình;

TỪ con trăn. 3

Sau đó, chúng tôi sẽ chạy tập lệnh python cơ bản của mình và đặt tên cho tệp tập lệnh là my_script. py. Đối với điều này, trước tiên chúng ta cần thêm tập lệnh vào Dockerfile của mình

THÊM my_script. py /

Tập lệnh mà chúng tôi đã tạo phụ thuộc vào thư viện Python pyStrich

Nói chung, mã vạch 1D và 2D được tạo bởi thư viện Python pyStrich

Vì vậy, chúng tôi phải cài đặt thư viện này trước khi chạy tệp tập lệnh có tên my_script. js.  

Thêm phần này vào Dockerfile của chúng tôi để cài đặt ngẫu nhiên

CHẠY pip cài đặt pystrich

Để thực thi tập lệnh, hãy thêm dòng sau vào Dockerfile của chúng tôi

CMD [ "con trăn", ". /my_script. py" ]

Lúc này Dockerfile của chúng ta sẽ hiện ra như hình bên dưới

TỪ con trăn. 3

THÊM my_script. py /

CHẠY pip cài đặt pystrich

CMD [ "con trăn", ". /my_script. p

Ở đây, TỪ cho Docker biết hình ảnh mà bạn dựa trên hình ảnh của mình. Ở đây, trong ví dụ này, Python 3

RUN nói với Docker về những lệnh bổ sung sẽ được thực thi

CMD yêu cầu Docker của chúng tôi thực thi tất cả các lệnh ngay sau khi tải hình ảnh

Tập lệnh Python có tên my_script. js mà chúng ta đã tạo trước đó sẽ trông như thế này

# Mẫu được lấy từ kho lưu trữ pyStrich GitHub

# https. //github. com/mmulqueen/pyStrich

từ pystrich. nhập ma trận dữ liệu DataMatrixEncoder

bộ mã hóa = DataMatrixEncoder('Đây là Ma trận dữ liệu. ')

mã hoá. tiết kiệm('. /datamatrix_test. png')

in (bộ mã hóa. get_ascii())

Từ Dockerfile của chúng tôi, trước tiên chúng tôi sẽ xây dựng hình ảnh của mình và sau đó chạy nó

docker build -t python-barcode

Bây giờ chúng ta hãy xem làm thế nào chúng ta có thể chạy hình ảnh của mình

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Chạy bộ chứa docker bằng python

Chạy hình ảnh

Sau khi xây dựng thành công hình ảnh của chúng tôi, chúng tôi có thể chạy nó dưới dạng vùng chứa. Để xem tất cả các hình ảnh, chúng ta cần chạy lệnh docker images trong thiết bị đầu cuối của mình

Kiểm tra mục nhập cho “mã vạch trăn”. Chạy hình ảnh mới bằng cách nhập

docker chạy mã vạch python

Chạy bộ chứa docker bằng python

Chúng tôi có thể tránh viết Dockerfile hoàn chỉnh nếu chúng tôi chỉ muốn chạy một tập lệnh duy nhất với một tệp duy nhất

Thí dụ

Giả sử chúng ta đang lưu trữ my_script. py trong /usr/src/widget_app/ và chúng tôi muốn đặt tên vùng chứa là our-first-python-script

Trong Python 3, chúng ta có thể viết lệnh sau

docker run -it --rm --name our-first-python-script -v "$PWD". /usr/src/widget_app trăn. 3 con trăn my_script. py

Và đối với Python 2, chúng ta có thể chạy lệnh sau

docker run -it --rm --name our-first-python-script -v "$PWD". /usr/src/widget_app trăn. 2 con trăn my_script. py

Bây giờ chúng ta hãy xem thêm một số hướng dẫn về cách tạo Dockerfile

Tạo một Dockerfile

Trước tiên, chúng tôi phải đảm bảo rằng không có phần mở rộng nào được thêm vào Dockerfile

Chúng ta phải làm quen với nội dung Dockerfile, nhưng không có nghĩa là phải đọc hết nội dung của Dockerfile. Việc cài đặt phần mềm dư thừa có thể tránh được.  

Tất cả các lệnh chạy phải được viết phù hợp bằng cách dựa trên tất cả các hình ảnh chỉ trên một bản phân phối Linux không được thực thi bởi trung tâm Docker. Nếu tất cả các bản phân phối dựa trên Debian, chẳng hạn như Ubuntu, Debian, Mint, v.v. , được chúng tôi sử dụng, thì chúng tôi phải gọi app-get để cài đặt phần mềm. Ngoài ra còn có một số bản phân phối dựa trên Red Hat mà chúng ta cần sử dụng yum

Đôi khi chúng ta có thể bắt đầu với một hình ảnh cơ sở không quen thuộc, tôi. e. , nếu bạn sử dụng CentOS và muốn chạy bản cài đặt Python, hình ảnh Python sẽ mở rộng Debian Jessie. Do đó, bạn cần thận trọng khi viết các chỉ thị RUN của mình. Debian không đặt ra quá nhiều thách thức nếu chúng ta duy trì sự quen thuộc với Ubuntu

Trong thư mục bản dựng của chúng tôi, phải tránh đặt bất kỳ tệp không sử dụng nào

Ghi chú. Chúng ta không nên thử chạy tập lệnh yêu cầu các phụ thuộc bằng phương pháp Thay thế trừ khi các phụ thuộc đó đi kèm với bản cài đặt Python đơn giản

Bây giờ hãy xem cách chúng tôi có thể xóa các thùng chứa Docker của mình

Cách xóa Docker Container

Mở bảng điều khiển Docker và chạy lệnh sau để xem tất cả các vùng chứa

docker ps

# HOẶC LÀ #

docker ps -a  # để xem tất cả các vùng chứa, kể cả những vùng chứa không chạy

Xóa vùng chứa đơn

Để xóa một vùng chứa, chúng ta cần chạy lệnh sau docker ps -a và truy xuất id vùng chứa

Sau đó, chỉ cần chạy docker rm container_id

Lệnh trên sẽ chỉ xóa vùng chứa của id vùng chứa cụ thể đó

Xóa tất cả các vùng chứa

Để xóa tất cả các vùng chứa, chúng ta cần chạy lệnh sau

$ docker ps -q -a. xargs docker rm

Ở đây -q là viết tắt của id vùng chứa của tất cả các vùng chứa và -a cho tất cả các vùng chứa

Xóa hình ảnh Docker

Xóa tất cả hình ảnh không có thẻ

Docker marks images without tags with "", so we need to process only those images. 

docker rmi $(docker images | grep "" | awk '{print $3}')

Xóa tất cả hình ảnh

Để xóa tất cả hình ảnh, chúng ta có thể đơn giản hóa mã ở trên và viết nó như hình bên dưới

docker rmi $(hình ảnh docker. awk '{in $3}')

Nâng cao sự nghiệp của bạn với tư cách là nhà phát triển MEAN stack với Nhà phát triển Web Full Stack - Chương trình Thạc sĩ MEAN Stack. đăng ký ngay bây giờ

Phần kết luận

Docker là một chủ đề quan trọng để triển khai các ứng dụng và nó hoạt động tốt nhất với các ứng dụng web

Nếu bạn muốn tìm hiểu thêm về Docker Python và các khái niệm liên quan, đồng thời muốn trở thành nhà phát triển ứng dụng máy tính và web full-stack, Simplilearn cung cấp Khóa học cấp chứng chỉ phát triển web Full-stack độc quyền để thành thạo cả backend và frontend với các công cụ, bao gồm SpringBoot, AngularMVC

Nếu bạn chưa sẵn sàng đăng ký tham gia khóa học chứng nhận đầy đủ, Simplilearn cũng cung cấp trong một số lĩnh vực, từ khoa học dữ liệu và phân tích kinh doanh đến phát triển phần mềm, AI và máy học. Trở thành nhà phát triển web toàn diện ngay hôm nay

Tìm Chương trình sau đại học của chúng tôi trong Chương trình đào tạo trực tuyến về phát triển web Full Stack tại các thành phố hàng đầu

NameDatePlacePost Chương trình sau đại học trong Full Stack Web DevelopmentCohort bắt đầu vào ngày 2 tháng 2 năm 2023,
Đợt cuối tuầnChi tiết CityView của bạnChương trình sau đại học về Phát triển Web Full Stack, SingaporeCohort bắt đầu vào ngày 16 tháng 2 năm 2023,
Đợt cuối tuầnSingaporeXem chi tiếtChương trình sau đại học về Phát triển Web Full StackNhóm bắt đầu vào ngày 1 tháng 3 năm 2023,
Lô hàng cuối tuầnChi tiết CityView của bạn

Thông tin về các Tác giả

Chạy bộ chứa docker bằng python
đơn giản

Simplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Làm cách nào để chạy bộ chứa docker từ Python?

Điều này đã đạt được thông qua một loạt các bước. .
Bước 1. Tạo tập tin và thư mục
Bước 2. Tạo Dockerfile
Bước 3. Xây dựng Docker Container
Bước 4. Xác minh bản dựng hình ảnh
Bước 5. Chạy bộ chứa Docker

Bạn có thể sử dụng docker với Python không?

Docker là một công cụ chứa được sử dụng để tạo ra các môi trường ứng dụng riêng biệt, có thể tái tạo. Đây là một công cụ phát triển phổ biến dành cho các nhà phát triển Python . Các hướng dẫn và bài viết ở đây sẽ hướng dẫn bạn cách đưa Docker vào quy trình phát triển của bạn và sử dụng nó để triển khai các ứng dụng cục bộ và trên đám mây.

Làm thế nào để chạy một container trong docker?

Bây giờ bạn đã có hình ảnh, bạn có thể chạy ứng dụng trong vùng chứa. Để làm như vậy, bạn sẽ sử dụng lệnh docker run . Bạn sử dụng cờ -d để chạy vùng chứa mới ở chế độ “tách rời” (trong nền). Bạn cũng sử dụng cờ -p để tạo ánh xạ giữa cổng 3000 của máy chủ với cổng 3000 của vùng chứa.