Tôi có một hình ảnh docker cài đặt grunt
, nhưng khi tôi cố chạy nó, tôi gặp lỗi:
Error response from daemon: Cannot start container foo_1: \
exec: "grunt serve": executable file not found in $PATH
Nếu tôi chạy bash trong chế độ tương tác, grunt
có sẵn.
Tôi đang làm gì sai?
Đây là Dockerfile của tôi:
# https://registry.hub.docker.com/u/dockerfile/nodejs/ (builds on ubuntu:14.04)
FROM dockerfile/nodejs
MAINTAINER My Name, me@email.com
ENV HOME /home/web
WORKDIR /home/web/site
RUN useradd web -d /home/web -s /bin/bash -m
RUN npm install -g grunt-cli
RUN npm install -g bower
RUN chown -R web:web /home/web
USER web
RUN git clone https://github.com/repo/site /home/web/site
RUN npm install
RUN bower install --config.interactive=false --allow-root
ENV NODE_ENV development
# Port 9000 for server
# Port 35729 for livereload
EXPOSE 9000 35729
CMD ["grunt"]
CMD grunt?
Bạn có nghĩa là bỏ ["
và "]
không?
CMD ["grunt"]
thànhCMD grunt
CMD ["grunt"]
sử dụng shell khác để thực thi lệnh, vì vậy trong shell đó $ PATH có khả năng không được đặt.
CMD grunt
? Hoặc bạn có thể cố gắng thực hiện lệnh grunt bằng cách vượt qua đường dẫn đầy đủ?