我有一个用例,我想通过airflow运行一个jar文件,所有这些文件都必须在mac上的docker容器中。
我尝试过单独安装java,也尝试过将javau home(主机)安装到容器上。
这是我的docker-compose.yaml:
airflow:
image: 'puckel/docker-airflow:1.10.9'
hostname: airflow
container_name: airflow
volumes:
- ${PWD}/airflow/dags:/usr/local/airflow/dags
- ${JAVA_HOME}:/usr/local/bin/java //FWD MOUNTING JAVA_HOME
这样,我在/usr/local/bin/中得到一个包含数据的java目录,但是 java -version
退货 Permission denied
. 把它改成 ${JAVA_HOME}/bin/java:/usr/local/bin/java
退货 exec format error
.
处理这个用例的正确方法是什么?
1条答案
按热度按时间s3fp2yjn1#
我想你会
Permission denied
因为你在用user运行dockerairflow
.你能试着把它当作
root
? (这太冒险了!不要在生产中使用,这只是一种临时的解决方法。避免使用root
用户!编辑:考虑安装一个单独的java,而不是安装本地java:
并添加
Dockerfile
在同一目录中: