Tôi đã tạo vùng chứa dữ liệu chỉ chứa các tệp HTML tĩnh được dự định sẽ sử dụng bởi vùng chứa nginx. Mục tiêu là ứng dụng web của tôi đang cung cấp một khối lượng mà nginx có thể sử dụng.docker đang chạy vùng chứa dữ liệu từ đầu
Vì lý do này, tôi đã tạo ra một Dockerfile đơn giản:
FROM scratch
MAINTAINER me <[email protected]>
ADD dist/ /webappp/
Khi tôi chạy container được tạo ra từ dòng lệnh run -d -v /webappp --name webapp myOrg/webapp echo yo
tôi nhận được lỗi Error response from daemon: Cannot start container db7fd5cd40d76311f8776b1710b4fe6d66284fe75253a806e281cd8ae5169637: exec: "echo": executable file not found in $PATH
mà nếu tất nhiên đúng vì hình ảnh không có lệnh ở tất cả các có thể được thực hiện. Chạy một container không có lệnh là không thể.
Trong khi lỗi này trên dòng lệnh không phải là một vấn đề lớn đối với tôi vì tôi biết vùng chứa dữ liệu vẫn được tạo và bây giờ có thể được truy cập bởi nginx, nó không thành công nếu tôi muốn tự động hóa nó với Vagrant. Các quy trình tự động luôn thất bại vì lỗi này.
Giải pháp duy nhất của tôi cho đến nay là mở rộng hình ảnh nhỏ của tôi từ một bản phân phối mà IMHO không có ý nghĩa đối với một vùng chứa dữ liệu chỉ để gọi echo hoặc true!
Có lệnh NOP exec trong docker hay docker cần luôn thực hiện điều gì đó, có thể chạy vùng chứa không có gì hoặc không tạo ra lỗi.
Tôi không chắc liệu trợ giúp này có giúp bạn thử http://stackoverflow.com/questions/25845785/most-appropriate-container-for-a-data-only-container? Nhân tiện, tôi đã sử dụng busybox cho vùng chứa dữ liệu của mình. –