如何访问拉取的 servicemix 映像的 /etc

How can I access the /etc of a pulled servicemix image

我需要在 docker 化的 servicemix 映像中安装自定义包。为此,我需要将一些文件粘贴到 servicemix 映像的 /etc 目录中。 谁能帮我做这个?

我试过如下使用 Dockerfile: 但它根本行不通。我查看了图像的文档,作者告诉我使用命令:docker 运行 --volumes-from servicemix-data -it ubuntu bash 并检查 /servicemix,但它是空的。

    Dockerfile:
    FROM dskow/apache-servicemix
    WORKDIR .
    COPY ./docs /apache-servicemix/etc

...

    Command suggested by the author:
    docker run --volumes-from servicemix-data -it ubuntu bash

我不熟悉这种方法,但在查看源代码 (link) 后,我认为这就是你想要做的:

创建一个名为 servicemix-data 的容器,它将成为您的卷:

docker run --name servicemix-data -v /servicemix busybox

确认这有效:

docker container ls --format="{{.ID}}\t{{.Names}}" --all
42b3bc4dbedf    servicemix-data
...

然后你想将文件复制到这个容器中:

docker cp ./docs servicemix-data:/etc

最后,运行 servicemix 使用此容器(包含您的文件)作为其数据源:

docker run \
--detach \
--name=servicemix \
--volumes-from=servicemix-data \
dskow/apache-servicemix

HTH!

容器中的更改将丢失,直到它被提交回映像。

您可以在 ENTRYPOINT 之前使用此 docker 文件 https://hub.docker.com/r/mkroli/servicemix/dockerfile 和您的复制语句。

COPY ./docs /opt/apache-servicemix/etc