目前我的 docker-compose 中有以下内容:
version: '2'
services:
app:
depends_on:
- 'postgres'
- 'elasticsearch'
- 'java'
build: .
command: bash scripts/start.sh
ports:
- '3000:3000'
volumes:
- '.:/farma_alg_reborn'
volumes_from:
- box
environment:
ELASTICSEARCH_URL: elasticsearch:9200
postgres:
image: 'postgres:9.5'
volumes:
- 'postgres:/var/lib/postgresql/data'
elasticsearch:
image: 'elasticsearch:2'
ports:
- '9200:9200'
volumes:
- 'elasticsearch:/usr/share/elasticsearch/data'
environment:
- Des.network.host=0.0.0.0
box:
image: busybox
volumes:
- /box
java:
image: openjdk:latest
volumes:
postgres:
box:
elasticsearch:
在使用此撰写文件启动的 Rails 应用程序中,我想调用嵌入 bash 命令 java
和 javac
,但找不到它们 (sh: 1 :javac:未找到)当我尝试时。
我怎样才能做到这一点?
编辑1:
我的docker文件:
FROM ruby:2.4-slim
RUN apt-get install -qq -y --no-install-recommends \
build-essential nodejs npm libpq-dev git fp-compiler nodejs-legacy libfontconfig1-dev cron
RUN npm install -g phantomjs
ENV APP /farma_alg_reborn
RUN mkdir -p $APP
WORKDIR $APP
ENV BUNDLE_PATH /box
COPY . $APP
最佳答案
您需要在 ruby 应用程序镜像中安装 java-jdk 才能运行 java 命令。
关于ruby-on-rails - docker-compose 中的 OpenJDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666449/