Yêu cầu thg 11 18, 2019 7:25 SA 112 0 1
  • 112 0 1
+2

Container Docker

Chia sẻ
  • 112 0 1

Các anh em cho mình hỏi là: khi mình deploy 1 trang web vào container,trang web có thư mục css , js , img. nhưng khi run container thì vào web chỉ thấy chữ mà không thấy định dạng và hình ảnh của trang web. các anh em chỉ mình với.thanks!

p/s: mình có dùng thêm option -v để mount các thư mục ấy vào nhưng vào trong container thì không thấy file gì hết.

1 CÂU TRẢ LỜI


Đã trả lời thg 11 18, 2019 7:40 SA
+5

Hơi ít thông tin để đoán được lỗi bạn đang gặp phải, chẳng hạn như bạn đang deploy docker ở Swarm mode hay không? Deploy docker trên mấy node, đã setup NFS giữa các node chưa? Web chạy proxy hay dùng web server nào: nginx, apache...

MÌnh thử đoán mò, chắc ý bạn là web không hiển thị được ảnh và style nhỉ? Mình gợi ý bạn thử check lỗi bằng cách sau:

  • Bạn thử access vào trong container xem đã có các file css, js, img được mount vào trong container chưa, mount có đúng folder chưa?
  • Web server đã chạy hay chưa?

Rất có thể là bạn chưa mount được hoặc mount sai đường dẫn vào trong container nên không request được các file static kia. Để thuận tiện cho việc deploy mình suggest bạn dùng docker-compose thay vì deploy bằng docker cli.

Chia sẻ
Avatar Za Nguyễn @zanguyen
thg 11 18, 2019 8:50 SA

cảm ơn bạn

Avatar Za Nguyễn @zanguyen
thg 11 18, 2019 9:07 SA

mình đã thử lại,ở phần Dockerfile mình thêm dòng ADD . /user/share/nginx/html. dòng lệnh này giúp đưa toàn bộ folder chứa file css ,js ,img vào container luôn

thg 11 18, 2019 9:56 SA

@zanguyen Access vào bên trong container thì có file chưa bạn?

docker exec -it container_id sh
ls -la /user/share/nginx/html

Nginx bạn có chắc chắn là đã cấu hình để nó tạo route vào đúng folder /user/share/nginx/html chưa? 🤔

thg 11 18, 2019 10:00 SA

Ví dụ vào trong container thực hiện request file như này:

wget -qO- http://localhost/images/xxx.jpg
  • Nếu response là 404 mà file tồn tại trong container thì khả năng cao bạn cấu hình nginx sai ở đâu đó.
  • Nếu response là 200, tức là file có thể request được qua HTTP thì khả năng bạn đang cấu hình proxy ở bên ngoài sai.
  • Khi truy cập web thì các file báo lỗi 404 hay lỗi gì bạn nhỉ?
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí