gpt4 book ai didi

java - Docker:如何访问由 java:8-jdk-alpine 制作的镜像的 Docker 容器

转载 作者:行者123 更新时间:2023-12-02 20:33:49 25 4
gpt4 key购买 nike

我正在 Mint 19 Linux 系统中尝试。我使用以下内容制作了一个 docker 图像:-

FROM java:8-jdk-alpine

COPY ./target/demo-docker-0.0.1-SNAPSHOT.jar /usr/app/

WORKDIR /usr/app

RUN sh -c 'touch demo-docker-0.0.1-SNAPSHOT.jar'

ENTRYPOINT ["java","-jar","demo-docker-0.0.1-SNAPSHOT.jar"]

我以 docker run -p 8080:8080 --name myApp -d mygreet 运行它.Image 正在运行并执行 jar 文件。但我想访问正在运行的容器。我试过 docker exec -it --user root myApp /bin/bash我收到一条错误消息:-

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown



我可以通过上述命令访问大部分 docker 容器。访问后,我可以看到所有 docker 容器都具有类似 Linux 的文件系统。我是 docker 新手,我得到了一个表达式,所有 docker 镜像都可能有一个类似的文件系统。也许这是我的假设。它应该取决于基本图像。对于上述案例,基础镜像是 java:8-jdk-alpine。可能是不同的东西。

我有几个问题。
  • 我如何访问这个容器?
  • 我如何知道基本图像的现有内容,以便我将来可以正确访问它?
  • 最佳答案

    我不认为 bash 它安装在那里,而是尝试/bin/sh 。

    如果您直接运行基础镜像,您可以在基于它构建自己的镜像之前进行测试。

    docker run -it java:8-jdk-alpine /bin/sh

    似乎工作

    关于java - Docker:如何访问由 java:8-jdk-alpine 制作的镜像的 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55443580/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com