【发布时间】:2019-06-24 20:50:53
【问题描述】:
我尝试 dockerise 一个旧的 angularJS 应用程序,但我遇到了一个问题。我的印象是,当 docker 拨出我的音量时,它会覆盖之前所做的一切。
我的图像已成功构建,但运行时出现此错误:Fatal error: Unable to find local grunt.
我的目标是能够在保持热重载的同时构建我的应用程序。
Dockerfile:
FROM mhart/alpine-node:6 as builder
# Confirm versions
RUN node -v
RUN npm -v
# Add
COPY package.json /usr/src/app/package.json
COPY bower.json /usr/src/app/bower.json
COPY Gruntfile.js /usr/src/app/Gruntfile.js
COPY .bowerrc /usr/src/app/.bowerrc
# Define app as root dir
WORKDIR /usr/src/app
# add app
#COPY . /usr/src/app
# Install sass & compass
RUN apk update && \
apk upgrade
RUN apk add --update \
ruby \
ruby-irb \
ruby-dev \
ruby-rdoc \
libffi-dev \
build-base
RUN gem install \
sass \
compass
# Install Perl
RUN apk add perl
# Install Git (rquired for angular dep)
RUN apk add git
# Install Yarn
RUN npm install -g yarn
RUN yarn -v
# Install dependencies
RUN npm install bower -g\
&& npm install -g grunt-cli \
&& yarn add grunt-contrib-imagemin \
&& yarn
# Build
RUN bower install --allow-root
EXPOSE 9000 35729
CMD [ "grunt", "--force" ,"server" ]
**docker-compose : **
version: '3.7'
services:
app-dev:
container_name: app-dev
build:
context: .
dockerfile: Dockerfile-dev
volumes:
- .:/usr/src/app/
ports:
- '9000:9000'
- '35729:35729'
restart: always
【问题讨论】:
标签: angularjs docker docker-compose gruntjs