【发布时间】:2015-07-03 00:11:37
【问题描述】:
这是我第一次尝试创建 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"]
基本上我只是安装 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) $(REPO_ARCHIVE_NAME)
$(SUDO) docker push $(REPO_ARCHIVE_NAME)
$(SUDO) docker save $(ARCHIVE_NAME) | gzip -c > $@
$(SUDO) docker rmi $(REPO_ARCHIVE_NAME)
我和它一起运行
make docker_image SUDO=sudo
【问题讨论】:
-
你最好实际发布你的makefile。
标签: dockerfile