paint-brush
Cách Dockerize và triển khai các ứng dụng Djangotừ tác giả@abrahamdahunsi
9,852 lượt đọc
9,852 lượt đọc

Cách Dockerize và triển khai các ứng dụng Django

từ tác giả Abraham Dahunsi 15m2023/10/14
Read on Terminal Reader

dài quá đọc không nổi

Trong hướng dẫn này, bạn đã học cách cập nhật và triển khai các ứng dụng Django bằng Docker, Django và Heroku. Bạn đã thấy cách Docker có thể giúp bạn tạo các môi trường riêng biệt và có thể tái tạo cho các ứng dụng của mình cũng như cách Heroku có thể đơn giản hóa quy trình triển khai. Bạn cũng đã tìm hiểu cách sử dụng Docker Compose để quản lý nhiều vùng chứa và dịch vụ cũng như cách định cấu hình cài đặt Django cho các môi trường khác nhau.
featured image - Cách Dockerize và triển khai các ứng dụng Django
Abraham Dahunsi  HackerNoon profile picture
0-item
1-item

Docker là một nền tảng để xây dựng, chạy và phân phối ứng dụng. Nó cho phép bạn đóng gói ứng dụng của mình và tất cả các phần phụ thuộc của nó vào một vùng chứa duy nhất, sau đó có thể chạy trên bất kỳ máy nào đã cài đặt Docker.


Điều này làm cho Docker trở nên lý tưởng để triển khai các ứng dụng web, vì nó giúp bạn dễ dàng di chuyển ứng dụng của mình từ môi trường này sang môi trường khác mà không phải lo lắng về bất kỳ vấn đề tương thích nào.


Mặt khác, Django là một khung web Python giúp dễ dàng tạo các ứng dụng web mạnh mẽ và có thể mở rộng. Django cung cấp một số tính năng vượt trội, chẳng hạn như hệ thống xác thực người dùng, lớp trừu tượng hóa cơ sở dữ liệu và công cụ mẫu.


Điều này giúp bạn dễ dàng bắt đầu với Django và xây dựng các ứng dụng web phức tạp một cách nhanh chóng và dễ dàng.


Dockerizing và triển khai ứng dụng Django là một quá trình tương đối đơn giản. Các bước chính liên quan là:


1. Tạo Dockerfile cho ứng dụng Django của bạn.

2. Xây dựng hình ảnh Docker từ Dockerfile của bạn.

3. Triển khai hình ảnh Docker vào môi trường sản xuất.


Trong bài viết này, tôi sẽ hướng dẫn bạn các bước liên quan đến việc cập bến và triển khai ứng dụng Django một cách chi tiết. Tôi cũng sẽ cung cấp một số mẹo và phương pháp hay nhất để triển khai ứng dụng Django trong sản xuất.

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn sẽ cần các điều kiện tiên quyết sau:


  • Python 3.9 trở lên
  • Pip
  • Docker
  • Docker Soạn
  • Git


Bạn cũng sẽ cần một nhà cung cấp dịch vụ lưu trữ đám mây như AWS, Azure hoặc Google Cloud Platform nếu bạn muốn triển khai ứng dụng Django của mình vào sản xuất. Nhưng đối với hướng dẫn này, tôi sẽ sử dụng Heroku.


Khi bạn đã cài đặt tất cả các điều kiện tiên quyết, bạn đã sẵn sàng bắt đầu Dockerizing và triển khai ứng dụng Django của mình!

Tạo một dự án Django

Để bắt đầu một dự án Django mới, bạn cần sử dụng lệnh django-admin . Lệnh này cho phép bạn tạo thư mục dự án và một số tệp cơ bản cho ứng dụng Django của bạn. Ví dụ: nếu bạn muốn tạo một dự án có tên my_project , bạn có thể chạy lệnh này trong terminal của mình:


django-admin startproject my_project


Điều này sẽ tạo một thư mục có tên `my_project` với cấu trúc sau:



dự án của tôi/


├── quản lý.py


└── dự án/


├── trong đó .py


├── settings.py


└── urls.py


Tệp manage.py là tập lệnh cho phép bạn thực hiện nhiều tác vụ khác nhau cho dự án của mình, chẳng hạn như chạy máy chủ phát triển, tạo di chuyển cơ sở dữ liệu và kiểm tra mã của bạn. Thư mục project/ chứa các tập tin cài đặt và cấu hình cho dự án của bạn.


Tệp settings.py xác định các cài đặt chính cho dự án của bạn, chẳng hạn như kết nối cơ sở dữ liệu, ứng dụng đã cài đặt và phần mềm trung gian. Tệp urls.py ánh xạ các URL của dự án tới các chế độ xem ứng dụng của bạn.


Sau khi tạo dự án Django mới, bạn có thể kiểm tra nó cục bộ bằng cách chạy máy chủ phát triển. Máy chủ phát triển là một máy chủ web đơn giản chạy trên máy của bạn và phục vụ các tệp dự án của bạn. Để khởi động máy chủ phát triển, hãy chạy lệnh này trong terminal của bạn:


python manage.py runserver


Điều này sẽ khởi động máy chủ trên cổng 8000 theo mặc định. Sau đó, bạn có thể mở trình duyệt của mình và truy cập http://localhost:8000/ để xem trang chủ Django mặc định.

Cấu trúc và tệp cơ bản của dự án Django

Dự án Django bao gồm một số tệp và thư mục xác định chức năng và giao diện của ứng dụng web của bạn. Các thành phần chính của dự án Django là:


manage.py : Tập lệnh cung cấp nhiều lệnh khác nhau để quản lý dự án của bạn, chẳng hạn như tạo ứng dụng, di chuyển cơ sở dữ liệu và kiểm tra mã của bạn.


project/ : Một thư mục chứa các tập tin cài đặt và cấu hình cho dự án của bạn. Các tập tin chính trong thư mục này là:

 `settings.py`: A file that defines the main settings for your project, such as the database connection, the installed apps, and the middleware. You can customize this file to suit your needs and preferences. `urls.py`: A file that maps the URLs of your project to the views of your apps. You can define different URL patterns for different parts of your web application.


apps/ : Một thư mục chứa tất cả các ứng dụng Django tạo nên dự án của bạn. Mỗi ứng dụng Django là một gói Python riêng biệt cung cấp chức năng hoặc tính năng cụ thể cho ứng dụng web của bạn. Bạn có thể tạo ứng dụng của riêng mình hoặc sử dụng các ứng dụng hiện có từ nguồn của bên thứ ba.

Kiểm tra dự án tại địa phương

Để kiểm tra dự án cục bộ, bạn có thể sử dụng máy chủ phát triển hoặc khung kiểm tra do Django cung cấp. Máy chủ phát triển là một máy chủ web đơn giản chạy trên máy của bạn và phục vụ các tệp dự án của bạn. Khung kiểm tra là một công cụ cho phép bạn viết và chạy các bài kiểm tra đơn vị cho mã của mình.


Để sử dụng máy chủ phát triển, bạn có thể chạy lệnh này trong terminal của mình:


python manage.py runserver


Điều này sẽ khởi động máy chủ trên cổng 8000 theo mặc định. Sau đó, bạn có thể mở trình duyệt của mình và truy cập `http://localhost:8000/` để xem trang chủ Django mặc định.


Để sử dụng khung kiểm tra, bạn có thể chạy lệnh này trong thiết bị đầu cuối của mình:


python manage.py test


Điều này sẽ chạy tất cả các bài kiểm tra đơn vị cho dự án của bạn. Nếu tất cả các bài kiểm tra đều vượt qua, bạn sẽ thấy thông báo như thế này:



 Ran 1 test in 0.001s Ok


Nếu bất kỳ thử nghiệm nào không thành công, bạn sẽ thấy thông báo lỗi kèm theo thông tin chi tiết về lỗi đó. Bạn có thể sử dụng thông tin này để gỡ lỗi và sửa mã của mình.


Khi bạn đã thử nghiệm dự án cục bộ và hài lòng với kết quả, bạn có thể triển khai dự án đó vào môi trường sản xuất.

Docker hóa dự án Django

Dockerfile là gì?

Dockerfile là một tệp văn bản chứa hướng dẫn về cách xây dựng hình ảnh Docker. Hình ảnh Docker là gói thực thi độc lập bao gồm mọi thứ cần thiết để chạy một ứng dụng: mã, thời gian chạy, công cụ hệ thống, thư viện hệ thống và cài đặt.


Để tạo Dockerfile, bạn cần chỉ định image cơ sở, các lệnh chạy để cài đặt các gói cần thiết và các lệnh chạy để khởi động ứng dụng.

Dockerfile ví dụ cho dự án Django

Đây là một ví dụ Dockerfile cho dự án Django:


 FROM python:3.9 #Install Django and other required packages RUN pip install django # Copy the Django project files into the image COPY ./app # Set the working directory WORKDIR /app # Start the Django development server CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]



Dockerfile này sẽ xây dựng hình ảnh Docker chứa các tệp dự án Python 3.9, Django và Django. Hình ảnh sẽ được cấu hình để khởi động máy chủ phát triển Django trên cổng 8000.

Tệp docker-compose.yml là gì?

Tệp docker-compose.yml là tệp YAML xác định các dịch vụ tạo nên ứng dụng Dockerized. Một dịch vụ có thể là một bộ chứa Docker đơn lẻ hoặc một nhóm các bộ chứa Docker.


Để tạo tệp docker-compose.yml cho dự án Django, bạn cần xác định dịch vụ web và dịch vụ cơ sở dữ liệu. Dịch vụ web sẽ chạy ứng dụng Django và dịch vụ cơ sở dữ liệu sẽ chạy cơ sở dữ liệu mà ứng dụng Django sử dụng.

Ví dụ về tệp docker-compose.yml cho Dự án Django

Dưới đây là tệp docker-compose.yml mẫu cho dự án Django:


 version: "3.9" services: web: build: ports: -"8000:8000" volumes -./:/app db: image: postgres:14.0-alpine volumes: -./postgres:/var/lib/postgresql/data



Tệp docker-compose.yml này xác định hai dịch vụ: webdb . Dịch vụ web sẽ xây dựng hình ảnh Docker từ Dockerfile mà chúng ta đã tạo ở phần trước. Dịch vụ web cũng sẽ hiển thị cổng 8000 trên máy chủ để chúng tôi có thể truy cập máy chủ phát triển Django.


Dịch vụ db sẽ sử dụng hình ảnh Docker PostgreSQL chính thức. Dịch vụ db cũng sẽ gắn thư mục postgres trên máy chủ vào thư mục /var/lib/postgresql/data bên trong vùng chứa. Điều này sẽ đảm bảo rằng các tệp cơ sở dữ liệu được duy trì giữa các lần khởi động lại vùng chứa.

Xây dựng và chạy Docker Container

Để xây dựng và chạy các vùng chứa Docker, chúng ta có thể sử dụng lệnh sau:


docker-compose up -d


Lệnh này sẽ xây dựng hình ảnh Docker cho các dịch vụ `web` và `db` nếu chúng chưa tồn tại. Sau đó, lệnh sẽ khởi động các vùng chứa Docker cho các dịch vụ `web` và `db`.

Thử nghiệm dự án Django được Docker hóa cục bộ

Khi các vùng chứa Docker đang chạy, chúng ta có thể kiểm tra cục bộ dự án Dockerized Django bằng trình duyệt web. Mở trình duyệt web và điều hướng đến `http://localhost:8000`. Bây giờ bạn có thể xem trang phát triển Django.


Bạn cũng có thể đăng nhập vào trang quản trị Django tại http://localhost:8000/admin/ . Tên người dùng và mật khẩu mặc định là adminadmin .

Triển khai dự án Django

Bây giờ, đã đến lúc triển khai dự án Django của bạn lên nền tảng đám mây bằng Git, GitHub và Heroku. Bạn cũng sẽ kiểm tra ứng dụng web đã triển khai của mình bằng trình duyệt web.

Git là gì và tại sao chúng ta cần nó?

Git là một công cụ phần mềm có thể giúp bạn quản lý mã nguồn của dự án. Nó cho phép bạn theo dõi các thay đổi được thực hiện đối với mã của mình, cộng tác với các nhà phát triển khác và hoàn nguyên về các phiên bản trước nếu có sự cố.


Git cũng có thể cho phép bạn đẩy mã của mình đến các kho lưu trữ từ xa, chẳng hạn như GitHub, nơi bạn có thể lưu trữ và chia sẻ mã của mình với người khác.

Làm cách nào để tạo kho lưu trữ GitHub và đẩy mã của chúng tôi lên GitHub?

Vui lòng bỏ qua những điều sau nếu bạn đã tạo kho lưu trữ GitHub.


Để tạo kho lưu trữ GitHub cho dự án Django của bạn, bạn cần làm theo các bước sau:


- Tạo tài khoản miễn phí trên GitHub


- Đi tới trang hồ sơ của bạn và nhấp vào nút Mới bên cạnh Kho lưu trữ .


- Đặt tên cho kho lưu trữ của bạn, chẳng hạn như django-docker-app và tùy ý thêm mô tả.


- Bấm vào nút Tạo kho lưu trữ .


Bây giờ bạn đã tạo một kho lưu trữ trống trên GitHub. Để đẩy mã của bạn vào kho lưu trữ này, bạn cần sử dụng lệnh `git` trong thiết bị đầu cuối của mình. Tôi cho rằng bạn đã cài đặt Git trên máy cục bộ của mình và khởi tạo kho lưu trữ Git trong thư mục dự án Django của bạn. Nếu không, hãy làm theo tài liệu chính thức của O để làm như vậy.


Để đẩy mã của bạn lên GitHub, bạn cần làm theo các bước sau:


- Đi tới thư mục dự án Django của bạn trong thiết bị đầu cuối và nhập git status để xem trạng thái hiện tại của kho lưu trữ của bạn. Bạn sẽ thấy một cái gì đó như thế này:


 On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt no changes added to commit (use "git add" and/or "git commit -a")


Điều này có nghĩa là bạn có một số tệp đã sửa đổi không được sắp xếp để thực hiện cam kết. Để sắp xếp chúng cho cam kết, bạn cần sử dụng lệnh git add .


- Gõ git add . để sắp xếp tất cả các tệp đã sửa đổi cho cam kết. Ngoài ra, bạn có thể chỉ định tên tệp mà chúng tôi muốn phân đoạn, chẳng hạn như git add Dockerfile docker-compose.yml requirements.txt .


- Gõ lại git status để xem trạng thái cập nhật của kho lưu trữ của chúng tôi. Bạn sẽ thấy một cái gì đó như thế này:


 On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt


Điều này có nghĩa là bạn có một số thay đổi được sắp xếp để thực hiện cam kết. Để cam kết chúng, bạn cần sử dụng lệnh git commit .


- Nhập git commit -m "Add Docker configuration files" để thực hiện các thay đổi theo giai đoạn kèm theo thông báo mô tả những gì chúng tôi đã làm. Ngoài ra, bạn có thể bỏ qua cờ -m và nhập tin nhắn dài hơn vào trình chỉnh sửa sẽ mở sau khi nhập git commit .


- Gõ lại git status để xem trạng thái cuối cùng của kho lưu trữ của chúng ta. Bạn sẽ thấy một cái gì đó như thế này:


 On branch main Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean


Điều này có nghĩa là bạn có một cam kết chưa được đẩy tới kho lưu trữ từ xa. Để đẩy nó, bạn cần sử dụng lệnh git push .


- Gõ git push origin main để đẩy cam kết cục bộ của bạn tới kho lưu trữ từ xa trên GitHub.


Ngoài ra, bạn có thể chỉ định tên từ xa và tên nhánh mà bạn muốn đẩy, chẳng hạn như git push origin main .


Bạn có thể được yêu cầu nhập tên người dùng và mật khẩu GitHub của mình hoặc sử dụng mã thông báo truy cập cá nhân để xác thực chính mình.


- Đi tới trang kho lưu trữ GitHub của bạn và làm mới nó. Bạn sẽ thấy mã của mình và thông báo cam kết trên trang.


Bạn đã đẩy mã của mình lên GitHub thành công. Bây giờ, bạn có thể chuyển sang bước tiếp theo, đó là triển khai dự án Django của bạn lên Heroku.

Heroku là gì và tại sao bạn cần nó?

Heroku là nền tảng đám mây cho phép bạn triển khai, quản lý và mở rộng quy mô ứng dụng web. Nó hỗ trợ nhiều ngôn ngữ lập trình, khung và cơ sở dữ liệu khác nhau, chẳng hạn như Python, Django và PostgreSQL.


Nó cũng cung cấp nhiều tính năng và tiện ích bổ sung khác nhau để nâng cao trải nghiệm phát triển web của chúng tôi, chẳng hạn như ghi nhật ký, giám sát, bộ nhớ đệm, bảo mật, v.v.


Bạn cần Heroku vì nó giúp quá trình triển khai của bạn dễ dàng và nhanh chóng hơn. Bạn có thể sử dụng Heroku để triển khai dự án Django của mình mà không phải lo lắng về cơ sở hạ tầng cơ bản, chẳng hạn như máy chủ, mạng hoặc hệ điều hành.


Bạn cũng có thể sử dụng Heroku để mở rộng quy mô ứng dụng web của mình theo lưu lượng truy cập và nhu cầu. Heroku xử lý tất cả sự phức tạp và thách thức khi triển khai web cho bạn.

Làm cách nào để tạo tài khoản Heroku và cài đặt công cụ Heroku CLI?

Để tạo tài khoản Heroku, bạn cần làm theo các bước sau:


- Vào Heroku và nhấn vào nút Đăng ký .

- Điền đầy đủ các thông tin được yêu cầu như tên, email, mật khẩu,..

- Chọn ngôn ngữ phát triển chính, chẳng hạn như Python.

- Bấm vào nút Tạo tài khoản miễn phí .

- Kiểm tra email của chúng tôi và nhấp vào liên kết để xác minh tài khoản của chúng tôi.


Bây giờ, bạn đã tạo một tài khoản Heroku miễn phí. Để cài đặt công cụ Heroku CLI, bạn cần làm theo các bước sau:


- Đi tới [ Heroku CLI và chọn trình cài đặt thích hợp cho hệ điều hành của chúng tôi, chẳng hạn như Windows, Mac OS X hoặc Linux.


- Tải xuống và chạy trình cài đặt và làm theo hướng dẫn trên màn hình.


- Mở terminal và gõ heroku --version để xác minh rằng quá trình cài đặt đã thành công. Bạn sẽ thấy một cái gì đó như thế này:


heroku/7.59.0 win32-x64 node-v12.21.0


Bây giờ, bạn đã cài đặt công cụ Heroku CLI trên máy cục bộ của mình. Bạn có thể sử dụng công cụ này để tương tác với Heroku từ thiết bị đầu cuối.

Làm cách nào để tạo ứng dụng Heroku và định cấu hình cài đặt bắt buộc?

Để tạo ứng dụng Heroku cho dự án Django, chúng ta cần làm theo các bước sau:


- Đi tới thư mục dự án Django của bạn trong terminal và nhập heroku login để đăng nhập vào tài khoản Heroku của bạn bằng công cụ Heroku CLI. Bạn có thể được yêu cầu nhập email và mật khẩu hoặc sử dụng trình duyệt web để xác thực chính mình.


- Gõ heroku create django-docker-app để tạo một ứng dụng Heroku mới với tên django-docker-app . Ngoài ra, bạn có thể bỏ qua tên và để Heroku tạo một tên ngẫu nhiên cho bạn. Bạn sẽ thấy một cái gì đó như thế này:


 Creating ⬢ django-docker-app... done https://django-docker-app.herokuapp.com/ | https://git.heroku.com/django-docker-app.git


Điều này có nghĩa là bạn đã tạo một ứng dụng Heroku mới có URL web và URL Git. URL web là nơi bạn có thể truy cập ứng dụng web đã triển khai của mình và URL Git là nơi bạn có thể đẩy mã của mình tới Heroku.


- Nhập heroku config:set SECRET_KEY=<your_secret_key> để đặt biến môi trường cho cài đặt SECRET_KEY của dự án Django của chúng ta. Bạn cần thay thế <your_secret_key> bằng một chuỗi ngẫu nhiên mà bạn có thể tạo bằng cách sử dụng công cụ như Django Secret Key Generator .


Ngoài ra, bạn có thể sử dụng khóa bí mật hiện có trong tệp settings.py của mình nhưng điều này không được khuyến khích vì lý do bảo mật.


- Nhập heroku addons:create heroku-postgresql:hobby-dev để thêm tiện ích bổ sung cơ sở dữ liệu PostgreSQL miễn phí vào ứng dụng Heroku của bạn. Điều này sẽ tạo cơ sở dữ liệu mới cho dự án Django của bạn và đặt biến môi trường cho cài đặt DATABASE_URL của dự án Django của bạn. Bạn sẽ thấy một cái gì đó như thế này:

 Creating heroku-postgresql:hobby-dev on ⬢ django-docker-app... free Database has been created and is available ! This database is empty. If upgrading, you can transfer ! data from another database with pg:copy Created postgresql-curved-12345 as DATABASE_URL Use heroku addons:docs heroku-postgresql to view documentation


Điều này có nghĩa là bạn đã thêm tiện ích bổ sung cơ sở dữ liệu PostgreSQL với tên PostgreSQL-curved-12345 và URL DATABASE_URL .


- Nhập heroku config để xem danh sách các biến môi trường mà bạn đã đặt cho ứng dụng Heroku của mình. Bạn sẽ thấy một cái gì đó như thế này:


 === django-docker-app Config Vars DATABASE_URL: postgres://<username>: <password>@<host>:<port>/<database> SECRET_KEY: <your_secret_key>


Điều này có nghĩa là bạn có hai biến môi trường, DATABASE_URLSECRET_KEY , mà bạn có thể sử dụng trong cài đặt dự án Django của mình.


Bây giờ bạn đã tạo ứng dụng Heroku và định cấu hình các cài đặt cần thiết cho dự án Django của chúng tôi, bạn có thể chuyển sang bước tiếp theo, đó là triển khai dự án Django của bạn lên Heroku.


Làm cách nào để triển khai dự án Django của bạn lên Heroku bằng lệnh ` heroku ?


Để triển khai dự án Django của chúng tôi tới Heroku bằng lệnh heroku , bạn cần làm theo các bước sau:


- Đi tới thư mục dự án Django của bạn trong thiết bị đầu cuối và nhập heroku container:login để đăng nhập vào Sổ đăng ký vùng chứa Heroku bằng công cụ Heroku CLI. Điều này sẽ cho phép bạn đẩy hình ảnh Docker của chúng tôi tới Heroku.


- Gõ heroku container:push web -a django-docker-app để xây dựng và đẩy hình ảnh Docker của bạn tới Heroku. Bạn cần chỉ định tên ứng dụng Heroku của mình, trong trường hợp này là django-docker-app . Bạn sẽ thấy một cái gì đó như thế này:


 === Building web (Dockerfile) Sending build context to Docker daemon 1.024kB Step 1/9 : FROM python:3.9-slim ---> 7f5b6ccd03e9 Step 2/9 : ENV PYTHONUNBUFFERED 1 ---> Using cache ---> 64b5d0e40a22 Step 3/9 : RUN mkdir /code ---> Using cache ---> 4d8c638f2b6c Step 4/9 : WORKDIR /code ---> Using cache ---> e69c02a028cd Step 5/9 : COPY requirements.txt /code/ ---> Using cache ---> 8f0f3e0f2d8c Step 6/9 : RUN pip install -r requirements.txt ---> Using cache ---> 0f7b497d81ed Step 7/9 : COPY . /code/ ---> Using cache ---> c0a8e9a32b16 Step 8/9 : EXPOSE 8000 ---> Using cache ---> a1d36a4a2da4 Step 9/9 : CMD ["gunicorn", "django_docker.wsgi", "--bind", "0.0.0.0:8000"] ---> Using cache ---> f7f3c0418a1d Successfully built f7f3c0418a1d Successfully tagged registry.heroku.com/django-docker-app/web:latest === Pushing web (Dockerfile) The push refers to repository [registry.heroku.com/django-docker-app/web] f7f3c0418a1d: Pushed latest: digest: sha256:6cbbf22cf6aa60e0343e6d8e7c4c2eeb2e cb8fd5e82a42dfe5f4aeeb15af89ec size: 528 Your image has been successfully pushed. You can now release it with the 'container:release' command.


Điều này có nghĩa là bạn đã xây dựng và đẩy hình ảnh Docker của mình lên Heroku.


- Nhập heroku container:release web -a django-docker-app để phát hành hình ảnh Docker cho ứng dụng Heroku của chúng tôi. Bạn sẽ thấy một cái gì đó như thế này:


 Releasing images web to django-docker-app... done


Điều này có nghĩa là bạn đã phát hành hình ảnh Docker cho ứng dụng Heroku của mình.


- Gõ heroku run python manage.py migrate -a django-docker-app để chạy quá trình di chuyển cơ sở dữ liệu trên ứng dụng Heroku của bạn. Điều này sẽ tạo các bảng và chỉ mục cần thiết cho dự án Django của bạn trên cơ sở dữ liệu PostgreSQL. Bạn sẽ thấy một cái gì đó như thế này:


 Running python manage.py migrate on ⬢ django-docker-app... up, run.1234 (Free) Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions, polls Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying polls.0001_initial... OK Applying sessions.0001_initial... OK


Điều này có nghĩa là bạn đã chạy di chuyển cơ sở dữ liệu trên ứng dụng Heroku của mình.


- Nhập heroku open -a django-docker-app để mở ứng dụng web đã triển khai của chúng tôi trong trình duyệt web. Bạn sẽ thấy dự án Django của chúng tôi chạy trên Heroku.


Bạn đã triển khai thành công dự án Django của mình tới Heroku bằng lệnh heroku . Bây giờ bạn có thể thưởng thức ứng dụng web của mình và chia sẻ nó với người khác.

Phần kết luận

Trong hướng dẫn này, bạn đã học cách cập nhật và triển khai các ứng dụng Django bằng Docker, Django và Heroku. Bạn đã thấy cách Docker có thể giúp bạn tạo các môi trường riêng biệt và có thể tái tạo cho các ứng dụng của mình cũng như cách Heroku có thể đơn giản hóa quy trình triển khai.


Bạn cũng đã tìm hiểu cách sử dụng Docker Compose để quản lý nhiều vùng chứa và dịch vụ cũng như cách định cấu hình cài đặt Django cho các môi trường khác nhau.


Dockerizing và triển khai các ứng dụng Django có thể mang lại nhiều lợi ích, chẳng hạn như:


- Chu kỳ phát triển và thử nghiệm nhanh hơn

- Cộng tác và chia sẻ mã dễ dàng hơn

- Hiệu suất ổn định và đáng tin cậy trên các nền tảng

- Khả năng mở rộng và tính linh hoạt của tài nguyên

- Bảo mật và cách ly các phụ thuộc


Đọc tiếp: CI/CD rất cần thiết để phân phối phần mềm nhanh chóng và đáng tin cậy. Để tối ưu hóa quy trình CI/CD của bạn để đạt hiệu quả tối đa, hãy chọn công cụ phù hợp, hợp lý hóa quy trình làm việc của bạn, sử dụng thử nghiệm và QA tự động, song song hóa các bản dựng, sử dụng vòng giám sát và phản hồi, thực hiện kiểm tra bảo mật và liên tục cải thiện quy trình của bạn. Đọc thêm

Đọc thêm: Mọi thứ chúng tôi đã học được tại DockerCon 2023 Đọc thêm

Tài nguyên bổ sung

- Tài liệu Docker : Tài liệu chính thức cho Docker, nơi bạn có thể tìm thấy hướng dẫn, hướng dẫn, tài liệu tham khảo, v.v.


- Tài liệu Django : Tài liệu chính thức cho Django, nơi bạn có thể tìm thấy các chủ đề, hướng dẫn cách thực hiện, tài liệu tham khảo, v.v.