Mình đã nghĩ đoạn document từ trang chủ của Docker đã làm bạn hiểu nhưng vì bạn vẫn khăng khăng nên mình đã tự tay trực tiếp build lại Image từ trang cung cấp docker image official. Image của mình ở đây https://gist.github.com/maitrungduc1410/7487cf5eff7a2595921aca2c4b240267. Ở image này mình KHÔNG CẦN EXPOSE cổng 80 vẫn có thể map port từ bên ngoài và chạy bình thường nhé
Còn việc bạn không chạy được ở cổng 443, khá nhiều lí do có thể gây ra lỗi (ở localhost thì không có HTTPS, hoặc khi bạn deploy ở VPS nhưng certificate của bạn ko hợp lệ chẳng hạn,...), nên ngay cả khi bạn expose và thậm chí map cả port cũng không chạy được.
Về câu hỏi thứ nhất này của bạn nếu sau khi mình đã giải thích và làm hẳn demo cho bạn nhưng bạn vẫn bảo vệ quan điểm của mình thì mình xin được không tranh luận về điều này nữa!
Còn câu thứ 2, trong bài câu đó ở phần câu hỏi liên quan tới những gì mình làm trong bài, mọi thứ vẫn chạy bình thường ổn định, mình vẫn dùng cách đó và phần đó mình cũng đã nói rõ là ở trong bài này , một phần mềm có hàng tỉ cách tiếp cận, mình không thể nói hết được từng cách, còn vì trong bài mình mount từ môi trường gốc vào cả image Laravel và image Nginx do đó mình khuyên bạn đọc không nên chạy composer vì khi chạy thì folder vendor sẽ bị mất do môi trường ngoài không có.
Và cả sau câu 2 này nếu vẫn chưa làm bạn hài lòng thì mình cũng xin không tranh luận dài dòng nữa
bạn hãy xem ở đây https://github.com/nginxinc/docker-nginx, nó đã expose sẵn port 80, còn bạn muốn check điều mình nois
không thể map port nếu không expose thì bạn thử map port 443:443 mà không expose trong dockerfile xem, dùng docker cli nhé đừng dùng ports của docker-compose vì nó expose và mapping trong cùng khai báo đó.
cái thứ 2 mình muốn chỉ ra là việc bạn nói không nên chạy composer install trong dockerfile là sai, mình vẫn đang dùng và ENTRYPOINT sinh ra để làm việc như thế, build container bằng câu lệnh, và nó sẽ chạy sau khi mount volume hoàn thành.
THẢO LUẬN
Dear Chung,
Cảm ơn Chung
Cảm ơn bạn đã ủng hộ, sắp tới mình sẽ viết nhiều bài viết hơn nữa.
Ở file docker-compose service webserver e đã map port chưa e? Địa chỉ e truy cập cũng phải có port nhé, ví dụ: 192.168.99.105:8000
Nếu vẫn không đc thì e đã chạy đc ở localhost thành công chưa (localhost ok thì hẵng chuyển qua chạy trên ip xem thế nào nhé e)
@quankm1097 mình test thừ không được bạn ơi, nó không ngăn được sự kiện và vẫn bị reload lại page
E thử build rồi up lên nhưng truy cập không được ạ. E chạy trên host 192.168.99.105
good
hay quá bạn ơi!!
cảm ơn bài viết
Combinelatest chứ k có combinelastest nha bạn.
Mình đã nghĩ đoạn document từ trang chủ của Docker đã làm bạn hiểu nhưng vì bạn vẫn khăng khăng nên mình đã tự tay trực tiếp build lại Image từ trang cung cấp docker image official. Image của mình ở đây https://gist.github.com/maitrungduc1410/7487cf5eff7a2595921aca2c4b240267. Ở image này mình KHÔNG CẦN EXPOSE cổng 80 vẫn có thể map port từ bên ngoài và chạy bình thường nhé
Còn việc bạn không chạy được ở cổng 443, khá nhiều lí do có thể gây ra lỗi (ở localhost thì không có HTTPS, hoặc khi bạn deploy ở VPS nhưng certificate của bạn ko hợp lệ chẳng hạn,...), nên ngay cả khi bạn expose và thậm chí map cả port cũng không chạy được.
Về câu hỏi thứ nhất này của bạn nếu sau khi mình đã giải thích và làm hẳn demo cho bạn nhưng bạn vẫn bảo vệ quan điểm của mình thì mình xin được không tranh luận về điều này nữa!
Còn câu thứ 2, trong bài câu đó ở phần câu hỏi liên quan tới những gì mình làm trong bài, mọi thứ vẫn chạy bình thường ổn định, mình vẫn dùng cách đó và phần đó mình cũng đã nói rõ là ở trong bài này , một phần mềm có hàng tỉ cách tiếp cận, mình không thể nói hết được từng cách, còn vì trong bài mình mount từ môi trường gốc vào cả image Laravel và image Nginx do đó mình khuyên bạn đọc không nên chạy composer vì khi chạy thì folder vendor sẽ bị mất do môi trường ngoài không có.
Và cả sau câu 2 này nếu vẫn chưa làm bạn hài lòng thì mình cũng xin không tranh luận dài dòng nữa
không thể map port nếu không exposethì bạn thử map port 443:443 mà không expose trong dockerfile xem, dùng docker cli nhé đừng dùng ports của docker-compose vì nó expose và mapping trong cùng khai báo đó.Check lại nhé !
tks bạn, để tối về mình check lại nhé
Trước em cũng gặp trường hợp này rồi nên em biết bác ạ =))
cho mình hỏi công thức tính p của hackernew như nào nhỉ? TH upvote=0 và downvote=0 thì sẽ tính như nào? Thanks all
1 like cho chủ thớt
cảm ơn bạn đã đọc. mình cũng mới tìm hiểu về thằng này

bài viết hay qúa bạn, mình đau đầu vì nó mấy ngày nay








thật bổ ích.
mình vừa sửa lại comment bạn check lại nhé (chú ý câu 1)