1/ trong file docker-compose.yml REDIS_PORT=${REDIS_PORT}
tên bên trái với bên phải mình để sao cũng được miễn là nó giống với file .env đúng không ạ và
chỉ cần để port trong biến môi trường vậy là nó tự động kết nối đến service khác như mongo redis bên ngoài hay sao a
3/ tại sao trong file .env có DB_PORT mà trong file docker-compose.yml lại không ghi
DB_PORT vô phần environment mà e chạy dự án vẫn được vậy ạ
3.1/cái biến
DB_HOST=${DB_HOST}
để giúp kết nối đến service mongo mà không cần
port trong file.yml mà
REDIS_HOST=${REDIS_HOST} lại phải cần để port trong yml vậy ạ
Lý do ta cần mount source vào cả webserver và app là vì các file static (JS, CSS, images,...) sẽ được xử lý bởi nginx, còn phần code PHP thì sẽ được forward sang cho app e nhé
e làm thêm phần để lệnh composer install vô dockerfile
a cho e hỏi là
1/ mục đích của việc mount volumes cái chỗ /var/www/html trong service nginx để làm gì vậy ạ
e tưởng bên ngoài còn zin mount vô sẽ bị lỗi do trong /var/www/html nó sẽ là toàn zin từ bên ngoài vô
2/ cái dòng trong file nginx.conf là nó kết nối đến service app . nên cái chỗ ./:/var/www/html là nó mount từ bên service app thư mục /var/www/html sang thư mục /var/www/html bên service nginx luôn đúng không hay sao vậy ạ
THẢO LUẬN
@neko okie e 🤣🤣🤣
@maitrungduc1410 trời cảm ơn a trả lời sớm dữ , e đang ngồi ngẫm sửa lại cmt cho ra câu hỏi chỉnh chu thì a rep lun r :>
https://www.youtube.com/watch?v=xTs-rkdP62c&ab_channel=Tund
DB_HOST=${DB_HOST}, cái bên trái là cái app bên trong container cần, phải chính xác, vế bên phải thì như nào cũng được miễn là khớp với.envappnó kết nối tới DB để lưu data, kết nối tới redis để lưu session đăng nhậpDB_PORT nếu ko có thì nó lấy mặc định
27017, e check ở code nhéa cho e hỏi là :
1/ trong file docker-compose.yml REDIS_PORT=${REDIS_PORT}
tên bên trái với bên phải mình để sao cũng được miễn là nó giống với file .env đúng không ạ và chỉ cần để port trong biến môi trường vậy là nó tự động kết nối đến service khác như mongo redis bên ngoài hay sao a
3/ tại sao trong file .env có DB_PORT mà trong file docker-compose.yml lại không ghi DB_PORT vô phần environment mà e chạy dự án vẫn được vậy ạ
3.1/cái biến
DB_HOST=${DB_HOST}
để giúp kết nối đến service mongo mà không cần
port trong file.yml mà
REDIS_HOST=${REDIS_HOST} lại phải cần để port trong yml vậy ạ
Đã up 1 vote
"gia tăng" chứ không phải "ra tăng" ad ơi 😄
Topic bổ ích 💯. Cảm ơn tác giả
rhhf
mình đọc thấy rất dễ hiểu, dev bh toàn viết kiểu formal chung đọc nhiều rất khó nhớ, viết kiểu phá cách vậy làm rất dễ nhớ nhé
đọc hơi muộn nhưng rất cảm ơn tâm huyết chia sẻ của anh
@maitrungduc1410 e cảm ơn ạ
đây là cách deploy phổ biến và recommend cho production, vì nginx làm rất tốt nhiệm vụ
servestatic content.(về mặt kĩ thuật thì ta cũng có thể setup cho
appxử lý được cả static content)Lý do ta cần mount source vào cả
webservervàapplà vì các file static (JS, CSS, images,...) sẽ được xử lý bởi nginx, còn phần code PHP thì sẽ được forward sang choappe nhée làm thêm phần để lệnh composer install vô dockerfile
a cho e hỏi là
1/ mục đích của việc mount volumes cái chỗ /var/www/html trong service nginx để làm gì vậy ạ e tưởng bên ngoài còn zin mount vô sẽ bị lỗi do trong /var/www/html nó sẽ là toàn zin từ bên ngoài vô
2/ cái dòng trong file nginx.conf là nó kết nối đến service app . nên cái chỗ ./:/var/www/html là nó mount từ bên service app thư mục /var/www/html sang thư mục /var/www/html bên service nginx luôn đúng không hay sao vậy ạ
quá đúng bác ạ, nội dung trong phần nếu nắm rõ thì chắc có thể tìm việc thời 2018-2022 chứ còn giờ chắc toang
🤑🤑🤑🤑🤑🤑🤑
Bài viết rất chi tiết và bổ ích ạ!
づ ̄ ³ ̄)づ ✨Đọc thêm các bài báo Song Ngữ và Truyện chêm ở đây✨
https://www.facebook.com/profile.php?id=61550516686463
Bài viết rât hữu ích, nó đã giúp tôi xây dựng ứng dụng điểm danh cho công ty của mình.Cảm ơn bạn