我正在使用RestHeart docker 形象。

dockerfile:

FROM openjdk:8u111-jre-alpine

RUN apk upgrade --update && apk add --update libstdc++ curl ca-certificates bash

...

这意味着当前已安装curl,对吗?

我在Docker compose中运行该镜像:
version: '3.4'
services:

  mongodb:
    image: mongo:4.0
    ports:
      - 27017:27017

  restheart:
    image: softinstigate/restheart:3.10.0
    ports:
      - 8082:8080
    volumes:
      - ./restheart:/opt/restheart/etc:ro
    depends_on:
      - mongodb

restheart容器的容器ID为e1a023d9a8a9

但是当我执行docker exec e1a023d9a8a9 curl时,我得到:

最佳答案

那个Dockerfile已经过时了,我不知道为什么Docker Hub仍在发布那个,至少已有两年了!
最新的是https://github.com/SoftInstigate/restheart/blob/master/core/Dockerfile
适用于RESTHeart v5
由于基本镜像是gcr.io/distroless/java:11,因此它甚至不包含sh shell。
顺便说一句,如果有人可以告诉我如何更新该Dockerfile会很有帮助,那么我在Docker Hub仪表板中找不到任何链接。

更新(2020年5月24日)
从RESTHeart 5.0.1开始,我们决定将Docker基本镜像移至adoptopenjdk:11-jre-hotspot-bionic。参见新的Dockerfilesoftinstigate/restheart镜像的latest5.0.1标签现在都基于Ubuntu 18.04 LTS发行版。
该非发行版镜像仍已构建(请参阅distroless.Dockerfile)并上传到Docker Hub,但将其标记为distroless5.0.1-distroless以便将其与默认镜像区分开。
发行说明:
https://github.com/SoftInstigate/restheart/releases/tag/5.0.1
Docker中心:
https://hub.docker.com/repository/docker/softinstigate/restheart

关于docker - 无法在之前已安装过的docker容器内使用curl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61906248/

10-16 02:09