相关疑难解决方法(0)

在Docker镜像中安装java

这是我第一次尝试创建一个docker图像,我希望有人可以帮助我.我的Dockerfile看起来大致如下:

FROM mybaseimage:0.1
MAINTAINER ...

ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
RUN sed 's/main$/main universe/' -i /etc/apt/sources.list

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update

RUN apt-get install -y openjdk-7-jre && apt-get clean &&\
             mkdir temp_dir  &&   cd temp_dir && \
             ${JAVA_HOME}/bin/jar -xvf somejar.jar  &&\
             cd ..
ENTRYPOINT ["somescript.sh"]
Run Code Online (Sandbox Code Playgroud)

基本上我只是安装Java所以我可以扩展一个jar文件.当我运行我的makefile时,我收到以下错误:

/ bin/sh:1:/ usr/lib/jvm/java-7-openjdk-amd64:权限被拒绝

我一直试图遵循这个例子:https: //registry.hub.docker.com/u/barnybug/openjdk-7-jre/dockerfile/

建议非常感谢

编辑:这里的评论中的每个请求是我的makefile:

DOCKER_REGISTRY=registry.mycompany.com
DOCKER_IMAGE=appimage-myapp
DOCKER_TAG=3.0

SUDO=

ARCHIVE_NAME=$(DOCKER_IMAGE):$(DOCKER_TAG)
  REPO_ARCHIVE_NAME=$(DOCKER_REGISTRY)/$(ARCHIVE_NAME)
  BASE_IMAGE_ARCHIVE=$(DOCKER_IMAGE)_$(DOCKER_TAG).tar.gz

all: $(BASE_IMAGE_ARCHIVE)

.PHONY: docker_image

docker_image: Dockerfile
    $(SUDO) docker build -t $(ARCHIVE_NAME) .

$(BASE_IMAGE_ARCHIVE): docker_image
  $(SUDO) docker tag -f $(ARCHIVE_NAME) …
Run Code Online (Sandbox Code Playgroud)

dockerfile

14
推荐指数
4
解决办法
4万
查看次数

标签 统计

dockerfile ×1