我正在尝试使用bazel为构建一个定制的码头映像。我对巴泽尔还是很陌生的,所以从码头到巴泽尔的很多事情让我很困惑。
由于某些错误,我想要运行JDK 8,而不是JDK 11。
base = "@java_image_base//image"
在某种程度上类似于:
FROM openjdk:11
在码头文件里。但是,我想使用JDK 8的基本映像。
我试图构建的BUILD文件中的bazel目标是:
container_image(
name = "server.container",
base = "@java_image_base//imag
使用container_image规则创建Docker映像时,图像中不存在必要的运行文件。pkg_tar规则也是如此,这似乎正是问题所在。
对于下面的BUILD文件,我希望sh_binary tool_b会出现在tool_a的运行文件中。
container_image(
name = "my image",
base = "@bash//image",
directory = "/usr/local/opt",
files = [":tool_a"],
)
sh_binary(
name
我有一个(1) Dockerfile和一个(2) C++项目
我想要创建一个在映像中预先构建Bazel目标的坞映像,以便当我打开新容器时,Bazel目标是预构建的,而我只是从容器bash执行Bazel run //hello:hello_world。
Dockerfile
# Copy my project with Bazel files to a Docker image, and the
...
RUN bazel --output_user_root=/tmp/hello_project/bazel build //...
...
在Dockerfile的执行过程中,我得到了以下预期的
我只看了这个问题:How to define OpenJDK 8 in CentOS based Dockerfile?。 我尝试了建议的答案,但没有得到预期的结果。下面是我的DockerFile的内容 FROM centos:7
RUN yum install -y \
java-1.8.0-openjdk \
java-1.8.0-openjdk-devel
ENV JAVA_HOME /etc/alternatives/jre
RUN yum install maven
RUN yum install curl
RUN yum install -y u