Thực tế là mình cũng đang có 1 server chạy kiểu này, 1 con nginx bên ngoài chạy cho cả app thường và app dùng Docker. Với các app chạy với Docker bạn chỉ cần proxy_pass vào cổng của container nginx trong bài này là được nhé (8000). Bạn xem ví dụ file cấu hình cho 1 domain ở con nginx bên ngoài của mình [ở đây](https://gist.github.com/maitrungduc1410/84ce3953f774235360dcb376befca15b, ở đó mình proxy_pass vào cổng 6060 nơi app Docker đang chạy.
Trường hợp của bạn, bạn cứ follow theo bài này của mình setup app Laravel với Docker gồm có 2 container nginx và app, sau đó ở nginx môi trường ngoài, bạn theo hướng dẫn kia của mình, tạo file cấu hình cho domain, sau đó proxy_pass request vào cổng của container nginx là được.
có 2 con nginx nom có vẻ "thừa", đúng là như vậy, bạn có thể bỏ container nginx đi, như thế thì bạn cần phải map port của container app ra ngoài, và phải cấu hình nginx bên ngoài khác đi 1 chút, khi bạn hiểu Docker hơn thì bạn tự vọc cách này nhé
@maitrungduc1410 là con nginx có ở môi trường ngoài sẵn rồi.
Mình chỉnh dùng docker laravel thôi được không.
=> Dùng nginx của host trỏ đến docker laravel
Nếu như docker csdl năm ở 1 file docker-compose.yml khác thì sao nhỉ?
Dùng này sao vậy bạn
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laraveluser
DB_PASSWORD=laraveluserpass
@maitrungduc1410 ví dụ có cách nào. Nginx thì cài mất thật(Host), chỉ dùng docker laravel thôi được không ?
Tại nginx mình làm nhiều site lắm.
Nên có các nào trỏ nginx thẳng vào docker laravel không ạ.
@maitrungduc1410 do vps mình nó bị sao đó. trước bị mình thêm - ./:/var/www/html:z mới mount đươc thự mục.
Giờ mình tìm được cách rồi
// lỗi nếu báo thiếu quyền
docker-compose exec app -u root app chmod -R 777 /var/www/html/storage/
Do vps nó check kiểu gì đó
lỗi này là ở phía service app user chạy container đó ko có quyền ghi vào file log. Lạ nhỉ mình đang dùng root rồi mà.
Ở môi trường ngoài, Bạn cd vào folder storage/logs sau đó chạy ls -l và cho mình xem screenshot của folder đó nhé
Sau đó bạn exec vào container app, chạy whoami để check chắc chắn là root. Sau đó vẫn cd vào folder storage/logs, vẫn chạy ls -l và cho mình xem screenshot nhé
@ddthanhdat nodejs bạn truy cập csdl thông qua host là tên của service mysql nhé bạn, bạn xem bài dockerize ứng dụng nodejs mongodb của mình để biết các nodejs gọi mongodb mà ko cần map port của db ra môi trường ngoài nhé
THẢO LUẬN
@fuxx I'm glad that this article can help you. Thank for your comment.
Btw, it's Vietnamese
@ddthanhdat được quá ấy chứ bạn
).
Thực tế là mình cũng đang có 1 server chạy kiểu này, 1 con nginx bên ngoài chạy cho cả app thường và app dùng Docker. Với các app chạy với Docker bạn chỉ cần
proxy_passvào cổng của containernginxtrong bài này là được nhé (8000). Bạn xem ví dụ file cấu hình cho 1 domain ở con nginx bên ngoài của mình [ở đây](https://gist.github.com/maitrungduc1410/84ce3953f774235360dcb376befca15b, ở đó mìnhproxy_passvào cổng6060nơi app Docker đang chạy.Trường hợp của bạn, bạn cứ follow theo bài này của mình setup app Laravel với Docker gồm có 2 container
nginxvàapp, sau đó ở nginx môi trường ngoài, bạn theo hướng dẫn kia của mình, tạo file cấu hình cho domain, sau đóproxy_passrequest vào cổng của containernginxlà được.Thanks bạn
Cám ơn bác ạ

Cám ơn bạn đã theo dõi bài viết ^^
Cám ơn chủ post đã giải thích ạ
@maitrungduc1410 là con nginx có ở môi trường ngoài sẵn rồi. Mình chỉnh dùng docker laravel thôi được không. => Dùng nginx của host trỏ đến docker laravel
Nếu như docker csdl năm ở 1 file docker-compose.yml khác thì sao nhỉ? Dùng này sao vậy bạn DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laraveluser DB_PASSWORD=laraveluserpass
@ddthanhdat ý là bạn đang có 1 con nginx ở môi trường ngoài sẵn rồi??
Nginx làm nhiều site thì sao hả bạn??
Câu này
. ko hiểu ý bạn là gì?
Nginx thì cài mất thật(Host), chỉ dùng docker laravel thôi được khônglàm mình thấy bối rốirất ok ạ
@maitrungduc1410 ví dụ có cách nào. Nginx thì cài mất thật(Host), chỉ dùng docker laravel thôi được không ? Tại nginx mình làm nhiều site lắm. Nên có các nào trỏ nginx thẳng vào docker laravel không ạ.
@maitrungduc1410 do vps mình nó bị sao đó. trước bị mình thêm - ./:/var/www/html:z mới mount đươc thự mục. Giờ mình tìm được cách rồi // lỗi nếu báo thiếu quyền docker-compose exec app -u root app chmod -R 777 /var/www/html/storage/ Do vps nó check kiểu gì đó
lỗi này là ở phía service
appuser chạy container đó ko có quyền ghi vào file log. Lạ nhỉ mình đang dùngrootrồi mà.cdvào folderstorage/logssau đó chạyls -lvà cho mình xem screenshot của folder đó nhéapp, chạywhoamiđể check chắc chắn làroot. Sau đó vẫncdvào folderstorage/logs, vẫn chạyls -lvà cho mình xem screenshot nhéBài viết rất hay!
.
@duc90 được rồi, cám ơn bạn
@ddthanhdat nodejs bạn truy cập csdl thông qua host là
tên của service mysqlnhé bạn, bạn xem bài dockerize ứng dụng nodejs mongodb của mình để biết các nodejs gọi mongodb mà ko cần map port của db ra môi trường ngoài nhéjav có cái
transientmà :v chỉ hok phải annotation thôi"Khi authorization được cấp, authorization server sẽ trả lại access token cho application." cho hỏi access token này có phải chính là JWT ko ?