THẢO LUẬN

dạ vâng em vẫn đang lót dép đây ạ hehe 😍

+1
thg 12 29, 2019 3:32 CH

E chưa biết kiểm tra chỗ này. Bth e mở terminal(macos) rồi xài cũng chưa biết đang xài root hay gì. Để e xem thêm.

+1
thg 12 29, 2019 3:22 CH

E có thể kiểm tra cho a điều này: nếu ở môi trường gốc (gốc nhé) ban đầu e mở cửa sổ terminal với quyền admin/root thì giờ e tắt đi mở lại chạy với user bình thường thôi, rồi chạy thử lại xem sao.

0
thg 12 29, 2019 3:19 CH

E thử chui vào container app và chạy command sau nhé:

docker-compose exec app sh

ls -l

Nếu thấy terminal in ra cột ở giữa là www-data www-data mới đúng nhé, a nghi của e đang là root root. A cũng chưa hiểu được lí do vì sao vì a vừa clone lại source từ nhánh master và làm lại từ đầu, mọi thứ vẫn ổn.

0
thg 12 29, 2019 3:09 CH

3 bước trên đúng hết rồi ạ nhưng vẫn ko được chỉ dùng docker-compose exec -u root app composer install mới được thôi a (E đã pull code mới nhất rồi)

0
thg 12 29, 2019 3:02 CH

Lỗi bên trên của e là do folder /var/www/html bên trong container đã bị set về quyền root, mà command composer install e chạy lại là quyền www-data nên báo lỗi không thể tạo đc vendor bên trong /var/www/html (chưa dám chắc vì sao của e lại xảy ra như thế). Nếu sau khi làm theo hướng dẫn của a bên trên ko đc thì e clone lại repo rồi chạy lại nhé 😄

0
thg 12 29, 2019 2:59 CH

Em check lại:

  • ở file Dockerfile đoạn cuối đã có USER www-data hay chưa nhé
  • ở file docker-compose.yml 2 service appwebserver đoạn mount volumes có phần này chưa - ./:/var/www/html
  • Nếu ở folder ngoài của e đã có vendor thì e xoá đi nhé

Nếu 1 trong 3 bước trên xảy ra thì e shutdown project đi (docker-compose down), sau đó e build lại image, rồi khởi động lại project rồi chạy lại docker-compose exec app composer install

Nếu lỗi vẫn tiếp tục xảy ra thì e chạy command sau:

# đây là giải pháp cuối cùng, 96,69% là sẽ được nhưng a ko khuyến khích
docker-compose exec -u root app composer install
+1
thg 12 29, 2019 2:53 CH

Cho e hỏi 1 chút nữa ở phần run composer ở case chui vào container thì e bị như sau

Screen Shot 2019-12-29 at 21.49.34.png

run ở ngoài thì ok. Hình như chỗ này do mình cấp quyền không phải root hay bị gì ạ. Nếu do cấp quyền thì nên cấp sao cho đúng a

0
Avatar
đã bình luận cho bài viết
thg 12 29, 2019 2:47 CH

khá hay

0
thg 12 29, 2019 2:45 CH

Cảm ơn a. Có tâm quá ạ. Đã chạy được chỗ này. Nếu có thắc mắc e sẽ hỏi thêm, hi vọng sẽ học được thêm về docker qua series này.

+1
thg 12 29, 2019 1:34 CH

mình đã comment ở dưới bạn xem nhé 😃

0
thg 12 29, 2019 1:30 CH

Hi em,

A đã check lại, đúng là a viết sai 1 chỗ.

Đời, không có gì là hoàn hảo, dù a đã cố gắng viết thật rõ ràng nhưng vẫn mắc sai lầm 🤣🤣

Ở phần cấu hình file docker-compose.yml, service webserver đoạn mount volumes e sửa lại 1 chút như sau cho a nhé:

volumes:
      - ./:/var/www/html # không thay đổi
      - ./nginx.conf:/etc/nginx/conf.d/default.conf # file ở trong container đã được đổi từ nginx.conf -> default.conf

Lí do: trước đó a để là ./nginx.conf:/etc/nginx/conf.d/nginx.conf, khi đó lúc ta chạy project lên, ở trong container webserver sẽ có 2 file cấu hình của nginx là default.confnginx.conf, và nginx sẽ mặc định lấy file default.conf chứ không lấy file nginx.conf, đó là lí do khi chạy lên không được 😉

A cũng đã sửa lại ở trong bài, cám ơn e đã để ý, nếu vẫn không được thì e clone lại repo và test lại nhé, a đã thử check lại repo và chạy bình thường rồi nhé e 😉

+1
thg 12 29, 2019 1:06 CH

Oke 2 bạn nhé, mình sẽ build lại và phản hồi các bạn sớm nhé 😄

0
thg 12 29, 2019 1:02 CH

Không cần nhé bạn, cả series này thứ duy nhất bạn càn cài là Docker và Docker compose, command kia dùng container tạm thời có nodejs để chạy npm nhé bạn. Bạn đọc ở trong bài mình có giải thích nhé bạn 😉

0
thg 12 29, 2019 12:06 CH

E truy cập 192.168.99.105:8000 đó a (e đang xài docker-machine vs virtualbox). Có bạn phía dưới lỗi tương tự, nếu rảnh a build lại cái dockerzie này xem có vấn đề gì không ạ. E cảm ơn.

+1
thg 12 29, 2019 9:59 SA

Mình đã thử chạy ở localhost và cũng gặp lỗi như bạn ở trên 😦(

+1
thg 12 29, 2019 9:02 SA

Cho mình hỏi là khi run command docker run --rm -v $(pwd):/app -w /app node:13-alpine npm install && npm run build tức là ở local phải cài npm đúng không bạn?

0
thg 12 29, 2019 7:35 SA

Hay đó bác, hiểu về bản chất của vấn đề bao giờ cũng thú vị cả. Thiết nghĩ bác nên làm thêm bài về các thứ có sẵn trong các framework, library như Bootstrap, Material UI, Ant-design,... mà rất hay được sử dụng trên web như thằng Carousel này để giúp ae nâng cao thêm trình độ. Anyhow, cảm ơn công sức của bác.

0

Bài viết rất hay. Cảm ơn bạn 👍

0
thg 12 29, 2019 4:35 SA

Cám ơn Huy đã chia sẻ nhé 😄

0
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í