[问题已处理]-docker构建的zk镜像异常的大

导语:同事反馈目前有个zk镜像构建出来有1.5G左右。所有文件也就500M。官方镜像也就150M。

from ubuntu:xenial
#RUN mkdir /opt/jdk1.8.0_151
#RUN mkdir /data1/zk1/zookeeper-3.4.10
RUN apt-get update -y&&apt-get install vim -y
COPY ./jdk1.8.0_151 /opt/jdk1.8.0_151
RUN true
COPY ./zookeeper-3.4.10 /root/zk1/zookeeper-3.4.10

ENV JAVA_HOME=/opt/jdk1.8.0_151
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
ENV LANG=C.UTF-8
#开放端口
#EXPOSE 2181
#容器入口
#ENTRYPOINT ["/data1/zk1/zookeeper-3.4.10/bin/zkServer.sh"]
#前台运行, 如果不设置这个, zookeeper后台运行的话, 容器会自动关闭, 进入Exited状态
#CMD ["start-foreground"]
#CMD ["/bin/sh"]

通过rsync同步到其他机子上文件大小是正确的。

原来的机子上du命令显示不正确,让同事删除一下datalog下的文件之后重新构建。

可以尝试在有问题的机子上试试这个

du -sh --apparent-size  *

类似问题参考

https://blog.51cto.com/dengyong/2090385

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用 Java Docker API 构建 Docker 镜像,可以使用 `Dockerfile` 文件来定义构建步骤和镜像内容,然后使用 Docker Java 客户端提供的 `BuildImageCmd` 来构建镜像。以下是构建镜像的示例代码: ```java DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder().build(); DockerClient dockerClient = DockerClientBuilder.getInstance(config).build(); // 定义 Dockerfile 文件路径和构建上下文路径 String dockerfile = "/path/to/Dockerfile"; File buildContext = new File("/path/to/buildContext"); // 构建镜像 BuildImageResultCallback callback = new BuildImageResultCallback() { @Override public void onNext(BuildResponseItem item) { // 打印构建日志 System.out.println(item.getStream()); } }; dockerClient.buildImageCmd() .withDockerfile(new File(dockerfile)) .withBuildDirectory(buildContext) .exec(callback).awaitImageId(); ``` 在构建镜像时,需要指定 `Dockerfile` 文件路径和构建上下文路径。`Dockerfile` 文件用于定义构建步骤和镜像内容,构建上下文路径用于构建过程中需要的文件和目录。构建完成后,可以通过 `BuildImageResultCallback` 的 `awaitImageId()` 方法获取镜像 ID。 检查镜像是否构建成功,可以使用 `listImagesCmd` 方法获取当前主机上的所有镜像,然后查找构建镜像是否在列表中。以下是检查镜像是否构建成功的示例代码: ```java List<Image> images = dockerClient.listImagesCmd().exec(); for (Image image : images) { for (String tag : image.getRepoTags()) { if (tag.equals("image-name:tag")) { System.out.println("镜像构建成功!镜像 ID:" + image.getId()); return; } } } System.out.println("镜像构建失败!"); ``` 在 `listImagesCmd` 方法返回的镜像列表中,每个镜像都有一个或多个标签,可以通过标签来识别镜像。找到构建镜像后,可以获取其 ID 并打印出来,表示镜像构建成功。如果找不到构建镜像,则表示构建失败。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值