Php libxml cài đặt ubuntu
Nơi chứa ứng dụng ứng dụng và các thành phần của nó để có thể vận hành trong môi trường môi trường nhẹ được gọi là vùng chứa. Những môi trường như vậy đã được tách biệt và chỉ sử dụng một lần. Và nó còn có thể được tận hưởng để phát triển, thử nghiệm và khai thác các ứng dụng khác Show
Trong hướng dẫn này, chúng tôi sẽ sử dụng Docker Compose để chứa và phát triển một ứng dụng Laravel. Khi hoàn tất, bạn sẽ có một ứng dụng Laravel demo đang chạy trên 3 vùng chứa dịch vụ riêng biệt
Để cho phép quy trình phát triển được tổ chức hợp lý và tạo điều kiện thu hồi các ứng dụng lỗi, chúng tôi sẽ giữ các tệp ứng dụng được đồng bộ hóa bằng cách sử dụng khối lượng dữ liệu được chia sẻ trước đó. Chúng ta cũng sẽ xem xét cách thức sử dụng lệnh thực thi của 2 để chạy Composer và Artisan trên vùng chứa 8Điều kiện
Bước 1. Get ứng dụng DemoĐể bắt đầu, chúng tôi sẽ tìm tải ứng dụng Laravel demo từ kho Github của nó. Chúng tôi quan tâm đến nhánh hướng dẫn 4, bao gồm ứng dụng Laravel cơ bảnĐể lấy mã ứng dụng tương thích với hướng dẫn này, vui lòng tải xuống hướng dẫn phát hành 5 vào thư mục chính của bạn với________số 8Chúng tôi sẽ yêu cầu giải nén 6 để giải nén mã ứng dụng. Trong trường hợp bạn chưa cài đặt gói này trước đây, hãy làm như vậy ngay bây giờ với 0Bây giờ, hãy giải nén nội dung của ứng dụng và đổi tên thư mục đã giải nén để truy cập dễ dàng hơn
Điều hướng đến danh sách 7Bước 2. Thiết lập tệp APP_NAME=Travellist APP_ENV=dev APP_KEY= APP_DEBUG=true APP_URL=http://localhost:8000 LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=travellist DB_USERNAME=travellist_user DB_PASSWORD=password ... 8 của ứng dụngCấu hình tệp Laravel được đặt trong một thư mục được gọi là 9, bên trong thư mục gốc của ứng dụng. Ngoài ra, tệp 8 được sử dụng để thiết lập cấu hình phụ thuộc vào môi trường, thực tế là thông tin xác thực và bất kỳ thông tin nào có thể khác nhau giữa các lần phát triển. Tệp này không được bao gồm trong quá trình kiểm soát đã sửa đổiCảnh báo. Tệp cấu hình môi trường chứa thông tin cảm ứng về máy chủ của bạn, bao gồm thông tin xác thực cơ sở dữ liệu và khóa bảo mật. Vì lý do đó, bạn không bao giờ nên chia sẻ công khai tài liệu này Các giá trị có trong tệp 8 sẽ được ưu tiên hơn các giá trị được đặt trong cấu hình tệp thông thường nằm trong thư mục 9. Mỗi lần cài đặt trên môi trường mới yêu cầu tệp môi trường đều được điều chỉnh để xác định những thứ như cài đặt kết nối cơ sở dữ liệu, tùy chọn khắc phục sự cố, URL ứng dụng, trong số các mục khác có thể tùy chọn khác nhau Bây giờ chúng tôi sẽ tạo một tệp 8 mới để tùy chỉnh các cấu hình tùy chọn tùy chọn cho môi trường phát triển mà chúng tôi đang thiết lập. Laravel đi kèm với tệp 94 mà chúng tôi có thể sao chép để tạo tệp của riêng mìnhMở tệp này bằng 95 hoặc bất kỳ trình soạn thảo văn bản nào mà bạn chọnTệp 8 hiện tại từ ứng dụng demo 97 chứa cài đặt để sử dụng cơ sở dữ liệu cục bộ MySQL, với 98 làm cơ sở dữ liệu máy chủ. Chúng ta cần cập nhật biến 99 để nó trỏ đến dịch vụ cơ sở dữ liệu mà chúng ta sẽ tạo trong môi trường Docker của mình. Trong hướng dẫn này, chúng tôi sẽ gọi dịch vụ cơ sở dữ liệu của chúng tôi là 9. Vui lòng tiếp tục và thay thế giá trị được liệt kê của 99 bằng tên dịch vụ cơ sở dữ liệu
Vui lòng thay đổi tên cơ sở dữ liệu, tên người dùng và mật khẩu nếu bạn muốn. Các biến này sẽ được tận dụng trong bước sau, nơi chúng tôi sẽ thiết lập tệp 82 để định cấu hình các dịch vụ của mìnhLưu tệp khi bạn chỉnh sửa xong. Nếu bạn đang sử dụng 95, bạn có thể thực hiện điều đó bằng cách nhấn vào 84, sau đó nhấn vào 85 và 86 để xác nhậnBước 3. Thiết lập Dockerfile của ứng dụngMặc dù cả hai dịch vụ MySQL và Nginx của chúng tôi đều sẽ dựa trên cấu hình ảnh mặc định được lấy từ Docker Hub, chúng tôi vẫn cần xây dựng cấu hình ảnh tùy chỉnh cho vùng chứa ứng dụng. Chúng tôi sẽ tạo một Dockerfile mới cho công việc đó Hình ảnh danh sách du lịch của chúng tôi sẽ dựa trên hình ảnh PHP chính thức 87 từ Docker Hub. Ngoài môi trường PHP-FPM cơ bản đó, chúng tôi sẽ cài đặt một số mô-đun PHP bổ sung và công cụ quản lý phụ thuộc của trình soạn thảoChúng tôi cũng sẽ tạo một người dùng hệ thống mới; . Cài đặt 60 chắc chắn rằng người dùng bên trong vùng chứa có cùng 60 với người dùng hệ thống của bạn trên máy chủ, nơi bạn đang chạy Docker. Bằng cách này, bất kỳ tệp nào được tạo theo lệnh này đều được sao chép trong máy chủ lưu trữ với quyền chính xác. Điều này cũng có nghĩa là bạn sẽ có thể sử dụng mã chỉnh sửa chương trình mà bạn chọn trong máy chủ để phát triển ứng dụng đang chạy bên trong vùng chứaCreate Docker a newfile with Sao chép các nội dung sau vào Dockerfile của bạn Đừng quên lưu tệp khi bạn hoàn tất nhé Dockerfile của chúng tôi bắt đầu bằng cách xác định cấu hình cơ sở ảnh mà chúng tôi đang sử dụng. 87Sau khi cài đặt các gói hệ thống và phần mở rộng PHP, chúng tôi cài đặt Composer bằng cách sao chép 89 thực thi tổng hợp chương trình từ hình ảnh chính thức mới nhất của nó sang hình ảnh ứng dụng của riêng chúng tôi.Một người sử dụng hệ thống mới sau đó được tạo và thiết lập bằng cách sử dụng các đối số 64 và 60 đã được khai báo ở đầu Dockerfile. Các giá trị này sẽ được Docker Compose đưa vào thời điểm khai thácCuối cùng, chúng tôi đặt 66 làm việc mặc định là 67 và thay đổi thành người dùng mới được tạo. Điều này sẽ đảm bảo rằng bạn đang kết nối với tư cách là người dùng thông thường và bạn đang ở đúng thư mục khi chạy lệnh của 89 và 88 trên vùng chứa ứng dụngBước 4. Thiết lập cấu hình Nginx và xuất tệp cơ sở dữ liệuKhi tạo môi trường phát triển với Docker Compose, thông thường cần phải chia sẻ các tệp cấu hình hoặc khởi tạo với các vùng chứa dịch vụ, để thiết lập hoặc khởi động các dịch vụ đó. Phương pháp này tạo điều kiện thuận lợi cho việc thực hiện các thay đổi đối với tệp cấu hình để điều chỉnh môi trường trong khi bạn đang phát triển ứng dụng Bây giờ chúng tôi sẽ thiết lập một thư mục chứa các tệp sẽ được sử dụng để định cấu hình và khởi động các vùng chứa dịch vụ của chúng tôi Để thiết lập Nginx, chúng tôi sẽ chia sẻ tệp 60 sẽ định cấu hình cách ứng dụng được phân phối. Create directory 61 with 9Mở tệp mới có tên 60 trong thư mục đó 8Sao chép cấu hình Nginx sau đó vào tệp đó docker-compose/nginx/travellist. conf 6Tệp này sẽ cấu hình Nginx để lắng nghe trên cổng 63 và sử dụng ______464 làm trang chỉ mục mặc định. Nó sẽ đặt tài liệu gốc thành 65, sau đó định cấu hình Nginx để sử dụng các dịch vụ ứng dụng trên cổng 66 để xử lý các tệp 67. Lưu và đóng tệp khi bạn đã chỉnh sửa xongĐể thiết lập cơ sở dữ liệu MySQL, chúng tôi sẽ chia sẻ kết xuất cơ sở dữ liệu được nhập khi vùng chứa được khởi động. Đây là một tính năng được cung cấp bởi MySQL 5. 7 hình ảnh mà chúng tôi sẽ sử dụng ngay trên vùng chứa đó Tạo một thư mục mới cho các tệp khởi tạo MySQL của bạn bên trong thư mục 68 6Open a new file 69 0Kết quả MySQL xuất ra sau đây dựa trên cơ sở dữ liệu mà chúng tôi đã thiết lập từ trước. Nó sẽ tạo một bảng mới có tên các địa điểm. Sau đó, nó sẽ điền vào bảng tổng hợp các vị trí mẫu Add after code into file docker-compose/mysql/db_init. sql 1Bảng 00 chứa ba trường là 01, 02, và 03. 04 là một biểu tượng được sử dụng để xác định các địa điểm vẫn phải đến. Vui lòng thay đổi địa điểm mẫu hoặc bao gồm các địa điểm mới. Save and close file after you completeBước 5. Tạo môi trường nhiều vùng chứa Docker ComposeDocker Compose cho phép bạn tạo môi trường nhiều vùng chứa các ứng dụng đang chạy trên Docker. Nó sử dụng các dịch vụ định nghĩa để xây dựng các môi trường hoàn toàn có thể tùy chỉnh với nhiều vùng chứa có thể chia sẻ mạng và khối lượng dữ liệu. Điều này cho phép liên kết liền mạch giữa các thành phần ứng dụng Để thiết lập các định nghĩa dịch vụ, chúng tôi sẽ tạo một tệp mới có tên là 05. Thông thường, tệp này nằm trong thư mục gốc của thư mục ứng dụng và nó xác định môi trường được xác định trong vùng chứa của bạn, bao gồm các hình ảnh cơ sở mà bạn sẽ sử dụng để tạo vùng chứa của mình và cách thức Chúng tôi sẽ xác định ba dịch vụ khác nhau trong tệp 05 của mình. 8, 9 và 0Dịch vụ 8 sẽ xây dựng một hình ảnh được gọi là 97, dựa trên Dockerfile mà chúng tôi đã tạo trước đó. Vùng chứa được xác định bởi dịch vụ này sẽ chạy một máy chủ 12 để phân tích cú pháp PHP và gửi kết quả trở lại dịch vụ 0, dịch vụ này sẽ chạy trên một vùng chứa riêng biệt. Dịch vụ 14 xác định một vùng chứa máy chủ MySQL 5 chạy. 7. Các dịch vụ của chúng tôi sẽ chia sẻ một mạng lưới cầu nối có tên là 97Các tệp ứng dụng sẽ được đồng bộ hóa trên cả 8 và dịch vụ 0 thông qua ràng buộc ràng buộc. Gắn kết hữu ích trong môi trường phát triển vì chúng tôi cho phép đồng bộ hai chiều hiệu quả giữa máy chủ và vùng chứaTạo tệp 82 mới ở thư mục gốc của thư mục ứng dụngTệp 19 điển hình bắt đầu với phiên bản định nghĩa, theo sau là nút 000, theo đó tất cả các dịch vụ đều được định nghĩa. Mạng chia sẻ thường được xác định ở cuối tệp đóĐể bắt đầu, hãy sao chép bảng mã có sẵn này vào tệp 82 của bạn/etc/nginx/sites-available/default 00Bây giờ, chúng ta sẽ chỉnh sửa nút 002 bên trong tệp 003unzip travellist.zip mv travellist-laravel-demo-tutorial-1.0.1 travellist-demo 004 dịch vụ 004 dịch vụ sẽ thiết lập một vùng có tên là 006. Nó xây dựng một Docker hình ảnh mới dựa trên một Dockerfile nằm trong cùng một đường dẫn với tệp 05. Hình ảnh mới sẽ được lưu bộ cục bộ trong danh sách 97 nêu trênMặc dù thư mục gốc chứa tài liệu đang được phân phối dưới dạng các tệp ứng dụng nằm trong vùng chứa 0, nhưng chúng tôi cũng cần các tệp ứng dụng ở đâu đó bên trong vùng chứa 8, vì vậy chúng tôi có thể thực hiện các thư mục này Sao chép định nghĩa 002 sau bên dưới nút dịch vụ của bạn, bên trong tệp 05 01Các cài đặt này thực hiện như sau
Dịch vụ APP_NAME=Travellist APP_ENV=dev APP_KEY= APP_DEBUG=true APP_URL=http://localhost:8000 LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=travellist DB_USERNAME=travellist_user DB_PASSWORD=password ... 0Dịch vụ 0 sử dụng hình ảnh Nginx có sẵn trên đỉnh Alpine - một bản phân phối Linux nhẹ. Nó tạo một vùng chứa có tên là 029 và nó sử dụng định nghĩa các cổng để tạo các chuyển hướng từ cổng 030 trên hệ thống máy chủ sang cổng 63 bên trong vùng chứaBao gồm định nghĩa dịch vụ sau trong nút dịch vụ của bạn, ngay sau dịch vụ 9 02Các cài đặt này thực hiện như sau
Complete to file unzip travellist.zip mv travellist-laravel-demo-tutorial-1.0.1 travellist-demo 047Đây là cách tệp 19 đã hoàn thành, nó sẽ trông giống như sau 03Bảo đảm bạn đã lưu tệp khi hoàn tất Bước 6. Chạy ứng dụng với Docker ComposeBây giờ, chúng tôi sẽ sử dụng lệnh d 68 để xây dựng ứng dụng hình ảnh và chạy các dịch vụ mà chúng tôi đã chỉ định trong thiết lập của mình. Build application image application by command afterLệnh này có thể mất vài phút để hoàn thành. You will see the start of the same as after 04Khi quá trình xây dựng hoàn tất, bạn có thể chạy môi trường ở chế độ nền với 05Điều này sẽ chạy các vùng chứa của bạn trong nền. Để hiển thị thông tin về trạng thái của các dịch vụ đang hoạt động của bạn, hãy chạy Bạn sẽ thấy đầu ra như thế này 06Môi trường của bạn hiện đã được thiết lập và đang chạy, nhưng chúng tôi vẫn cần thực hiện một vài lệnh để hoàn tất thiết lập ứng dụng. Bạn có thể sử dụng lệnh 050 để thực thi các lệnh trong vùng chứa dịch vụ, ví dụ như thời hạn như 051 để hiển thị thông tin chi tiết về các tệp trong thư mục ứng dụng 07 08Bây giờ chúng ta sẽ chạy 052 để cài đặt các phần phụ thuộc của ứng dụng 09You will see the start as after 0Điều cuối cùng chúng ta cần làm trước khi kiểm tra ứng dụng là tạo một khóa ứng dụng duy nhất bằng công cụ dòng lệnh Laravel 88. Khóa này được sử dụng để mã hóa phiên bản người dùng và dữ liệu cảm ứng khác 1 2Bây giờ, hãy truy cập trình duyệt của bạn và truy cập tên miền hoặc địa chỉ IP của máy chủ trên cổng 8000 3Chú thích. Trong trường hợp bạn đang chạy bản demo này trên máy cục bộ của mình, hãy sử dụng 054 để truy cập ứng dụng từ trình duyệt của bạnBạn sẽ thấy một trang như thế này hiện ra. Bạn có thể sử dụng lệnh 055 để kiểm tra nhật ký do các dịch vụ của bạn tạo ra. 4Nếu bạn muốn tạm dừng môi trường Docker Compose của mình trong khi vẫn giữ trạng thái của tất cả các dịch vụ của nó, hãy chạy 5Sau đó, bạn có thể tiếp tục các nhiệm vụ của mình với 6Để tắt môi trường Docker Soạn và xóa tất cả các vùng chứa, mạng và khối lượng của nó, hãy chạy 7Kết luậnTrong hướng dẫn này, chúng tôi đã thiết lập môi trường Docker với ba vùng chứa bằng Docker Compose để xác định cơ sở hạ tầng của chúng tôi trong tệp YAML Từ thời điểm này, bạn có thể thực hiện công việc trên ứng dụng Laravel của mình mà không cần cài đặt và thiết lập bộ máy chủ web cục bộ để phát triển và thử nghiệm. Hơn nữa, bạn sẽ làm việc với môi trường bằng cách sử dụng một lần có thể dễ dàng sao chép và phân phối, những điều này có thể hữu ích trong khi phát triển ứng dụng của bạn và cả khi hướng tới môi trường sản xuất sản phẩm |