2016-02-19 19 views
7

Tôi đang sử dụng Docker hộp công cụ trong Windows và cố gắng để gắn một cửa sổ thư mục trong một file Docker-compose.yml như thế này:Docker Soạn Núi Window Thư mục

nginx: 
    image: nginx:latest 
    container_name: test_server 
    ports: 
    - "80:80" 
    volumes: 
    - /sss:/c/data/www:ro 
    environment: 
    - VIRTUAL_HOST=test.local 

Mục tiêu của tôi là đến Mount C: \ data \ www để boot2docker VM hình ảnh mà đã được tạo ra bởi docker hộp công cụ và sau đó từ đó vào container nginx bên trong của nó.

Thật không may nó không hoạt động, tôi nhận được một thư mục sss bên trong boot2docker hình ảnh nhưng trống rỗng của nó mà không nhắm mục tiêu đến dữ liệu cửa sổ của tôi.

Tôi đang làm gì sai? Có bất kỳ thực hành tốt hơn để sử dụng Docker trong các cửa sổ trong khi bạn đang phát triển (do đó bạn cần phải chia sẻ mã giữa các cửa sổ, Docker vm (boot2docker) và container Docker)

Thanks a lot,

Nick

+0

Hãy nhớ rằng với boot2docker, có hai lớp trừu tượng: một máy ảo Linux, sau đó động cơ Docker chạy ở chỗ VM. Docker Compose không biết gì về thế giới bên ngoài VM nơi Docker đang chạy, và không thể, ví dụ, cấu hình các thư mục chia sẻ VirtualBox. Có một số thảo luận về điều này trong tài liệu boot2docker: https://github.com/boot2docker/boot2docker#folder-sharing –

Trả lời

9

mục tiêu của tôi là đến núi C:\data\www để boot2docker VM image

Từ "Manually sharing directory as docker volume mounting point":

Bạn cần phải:

  • sửa đổi VirtualBox VM của bạn (chắc chắn rằng nó được dừng đầu tiên):

    VBoxManage sharedfolder add <machine name/id> --name <mount_name> --hostpath <host_dir> --automount 
    # in your case 
    /c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name www --hostpath 'C:\data\ww' --automount 
    
  • thêm một automount to your boot2docker VM: Sửa

    • /tạo (như root) /mnt/sda1/var/lib/boot2docker/bootlocal.sh, (sda1 có thể khác cho bạn)
    • Thêm

      mkdir -p <local_dir> 
      mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir 
      

(bạn có thể phải add the umask as in here)

+0

Vì vậy, trong docker-compose.yml khối lượng không có gì để làm với các cửa sổ nhưng nó để gắn kết từ linux vm để chỉ chứa? –

+0

Có, chúng hoạt động trong thế giới Linux của boot2docker chỉ – VonC

+0

Tôi gặp vấn đề nghiêm trọng, thư mục gắn kết của tôi đang hiển thị OK cho máy VM boot2docker nhưng nếu tôi thêm hoặc chỉnh sửa tệp từ Widows tệp này không được cập nhật trở lại máy ảo ? –

Các vấn đề liên quan