我有一个包含我的docker compose文件的项目文件夹。它将子文件夹引用为子项目。
运行 docker compose 时,ADD 会添加 docker-compose 位置而不是预期的子目录。
项目/docker-compose.yml
db:
image: postgres
api:
build: ./api
command: bundle exec rails s --port 3000 --binding 0.0.0.0
ports:
- "3000:3000"
links:
- db
volumes:
- .:/myapp
这是 api dockerfile。
FROM ruby:2.2.3
RUN apt-get update -qq && apt-get install -y build-essential
ENV APP_HOME /myapp
RUN mkdir $APP_HOME
WORKDIR $APP_HOME
ADD Gemfile* $APP_HOME/
RUN bundle install
ADD . $APP_HOME # Expect this to add project/api to /myapp but adds project
答案1
修复方法是在docker compose文件中正确映射卷。
db:
image: postgres
api:
build: ./api
command: bundle exec rails s --port 3000 --binding 0.0.0.0
ports:
- "3000:3000"
links:
- db
volumes:
- ./api:/myapp