Không biết tính từ thời điểm a update bài viết đến nay docker có thay đổi gì ko nhưng e thấy COPY ở Dockerfile vẫn giữ nguyên quyền của user bên ngoài container chứ không phải là root ạ :v. Dockerfile của e trông như này ạ
@just-pthai-it à, a dùng file entrypoint-sh mục đích là để tạo user thường (non-root user), vì image mongo nó ko có support tạo non-root user qua biến môi trường. đơn giản vậy thôi
không như các image của db khác, ví dụ mysql, nó support mình luôn thì ko cần file entrypoint.sh j cả
@maitrungduc1410 vâng ý e là mongo hay các db khác thì thấy có biến môi trường thì sẽ tạo user tương ứng. Còn file entrypoint-sh của a cũng tạo user từ biến môi trường đó thì e ko biết 2 tư tưởng khác nhau ở chỗ nào ấy ạ. Phải chăng là cách của a thì user được tạo chỉ được thao tác với db cụ thể nên sẽ bảo mật hơn ạ?
Uh đó là nếu bạn cấu hình các tài khoản đó có xác thực qua SMS. Có nhiều kiểu tài khoản khác chỉ có 2FA bằng Authenticator, không có dự phòng SMS ấy bạn.
@cakiem8x Đấy là nếu bạn chủ động chuyển đổi thiết bị thì làm export, còn nếu ko back up định kỳ, lúc bị mất máy hoặc máy rơi xuống nước hỏng chẳng hạn thì là tịt phải ko 🫠
axios.interceptors.request.use(onRequestSuccess);
đã gặp lỗi
"Argument of type 'AxiosRequestConfig<any>' is not assignable to parameter of type '(value: AxiosResponse<any, any>) => AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'.
Type 'AxiosRequestConfig<any>' provides no match for the signature '(value: AxiosResponse<any, any>): AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'."
Cho e hỏi là bình thường nếu mình set biến môi trường của root user và user thường thì db nó sẽ tự dộng tạo ra các user tương ứng. Và bước authentication của a trên cũng là để tạo ra user theo thông tin ở biến môi trường. Vậy thì 2 tư tưởng có gì khác nhau vậy ạ?
THẢO LUẬN
Không biết tính từ thời điểm a update bài viết đến nay docker có thay đổi gì ko nhưng e thấy COPY ở Dockerfile vẫn giữ nguyên quyền của user bên ngoài container chứ không phải là root ạ :v. Dockerfile của e trông như này ạ
em chua hinh dung duoc no se choc vao nodemodule de lay code nhu the nao a
Bạn có thể giải thích kĩ hơn về partition campaign và partition user là như thế nào không ?
Cho mình hỏi tại sao dùng super.child mà không phải this.child?
Thật tuyệt, cảm ơn anh rất nhiều ^^
Hệ thống của b scale kiểu gi được nhỉ?? như mình thấy chỉ scale được push worker??
Ví dụ cần partition campaign, partition cả user gửi tin nhắn thì bạn xử lí như thế nào??
Kinh nghiệm hay quá, cám ơn bác
tks
tks
@maitrungduc1410 à vâng e cảm ơn ạ. E ko để ý mongo nên nghĩ là nó cũng tạo đc non-root user như các db khác.
@just-pthai-it à, a dùng file entrypoint-sh mục đích là để tạo user thường (non-root user), vì image mongo nó ko có support tạo non-root user qua biến môi trường. đơn giản vậy thôi
không như các image của db khác, ví dụ mysql, nó support mình luôn thì ko cần file entrypoint.sh j cả
@maitrungduc1410 vâng ý e là mongo hay các db khác thì thấy có biến môi trường thì sẽ tạo user tương ứng. Còn file entrypoint-sh của a cũng tạo user từ biến môi trường đó thì e ko biết 2 tư tưởng khác nhau ở chỗ nào ấy ạ. Phải chăng là cách của a thì user được tạo chỉ được thao tác với db cụ thể nên sẽ bảo mật hơn ạ?
là sao e nhỉ? a ko hiểu ý e
)
tư tưởng là tạo biến user từ biến môi trường.
User
rootluôn được tạo sẵn, còn user thường thì nếu mongo nó thấy có biến môi trường thì nó mới tạo thôikhả năng là ban đầu e chạy mongo ko có pass, hoặc pass khác, sau đó e thêm pass/đổi pass mà vẫn mount cùng volume,
e phải destroy volume cũ đi nhé.
nếu e đang dùng windows thì a đã note ở đây nhé: https://viblo.asia/p/dockerize-project-nodejs-mongodb-redis-passport-4P856NXW5Y3#_chay-project-11
(xoá volume đi chạy lại)
Uh đó là nếu bạn cấu hình các tài khoản đó có xác thực qua SMS. Có nhiều kiểu tài khoản khác chỉ có 2FA bằng Authenticator, không có dự phòng SMS ấy bạn.
@cakiem8x Đấy là nếu bạn chủ động chuyển đổi thiết bị thì làm export, còn nếu ko back up định kỳ, lúc bị mất máy hoặc máy rơi xuống nước hỏng chẳng hạn thì là tịt phải ko 🫠
axios.interceptors.request.use(onRequestSuccess); đã gặp lỗi "Argument of type 'AxiosRequestConfig<any>' is not assignable to parameter of type '(value: AxiosResponse<any, any>) => AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'. Type 'AxiosRequestConfig<any>' provides no match for the signature '(value: AxiosResponse<any, any>): AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>'."
Cho e hỏi là bình thường nếu mình set biến môi trường của root user và user thường thì db nó sẽ tự dộng tạo ra các user tương ứng. Và bước authentication của a trên cũng là để tạo ra user theo thông tin ở biến môi trường. Vậy thì 2 tư tưởng có gì khác nhau vậy ạ?
Bạn có trao đổi mình qua FB này cũng dc https://www.facebook.com/hoanggia.nguyen.12935/
@anhnguyenkt94 Mình đã gửi tài liệu qua mail rồi nhé. Chúc bạn thi tốt!