Asked Jan 20th, 2019 5:06 AM 261 0 1
  • 261 0 1
+1

Mount Volume để share dữ liệu giữa host và container trên (host window)

Share
  • 261 0 1

D:\docker> docker run -d -p 3000:3000 -v D:/docker/example:/usr/src/app -i docker-express output: docker: Error response from daemon: invalid mode: /usr/src/app.

D:\docker> docker run -d -p 3000:3000 -v /example:/usr/src/app -i docker-express output: lôĩ vì thư mục /usr/src/app không có dữ liệu

Nhưng nếu không set volume thì nó chạy bình thường.

Vậy xin cho hỏi giải pháp khi sử dụng window khi mount volume như thế nào. Xin cám ơn moij người

1 ANSWERS


Answered Jan 20th, 2019 5:28 AM
+3

Có thể setting mount volume bằng 2 cách: ở câu lệnh run docker image hoặc trong docker-compose

  • Cách của bạn đang làm là cách 1, lỗi này khả năng là do bạn chưa tạo thư mục đó trong máy ảo container, bạn thử cập nhật Dockerfile xem, thêm câu lệnh RUN mkdir /urc/src/app.

Hoặc cũng có thể set thư mục này là thư mục làm việc mặc định bằng cách dùng WORKDIR

  • Còn nếu như sử dụng docker-compose thì như thế này: Cho mysql, cho app
Share
trần trọng hiến @trantronghien85
Jan 20th, 2019 3:17 PM

Cám ơn bạn đã trả lời, khi mình build image thì mình đã set WORKDIR rồi bạn và mình đã vào container kiểm tra thì có /urc/src/app và code của mình cũng đc copy vào rồi. Mình đang gặp khó khăn là ko biết cú pháp set đường dẫn trên window host với container. Bên linux mình làm không gặp vấn đề gì chỉ bên window gặp vấn đề về đường dẫn thôi

0
| Reply
Share
Hoàn Kì @HoanKi
Jan 20th, 2019 4:06 PM

@trantronghien85 Ra vậy, mình serach google một hồi thấy có bài viết này, bạn thử tham khảo xem sao.

https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c ( Tương tự: https://github.com/docker/for-win/issues/77#issuecomment-246778932 )

Hoặc: https://stackoverflow.com/a/33151452

+1
| Reply
Share
trần trọng hiến @trantronghien85
Jan 21st, 2019 2:49 AM

@HoanKi cám ơn bạn đã trả lời.

hướng dẫn trên là đúng rồi hồi tối mình mới search thì ra là chưa mount driver của window host với docker. nhưng mình đang sài win 7 nên sài docker toolbox nên phải chỉnh trong virtubox mới đc mình đã giải quyết đc vấn đề.

+1
| Reply
Share