我需要在dockerized servicemix映像中安装自定义捆绑包。为此,我需要将一些文件粘贴到servicemix映像的/ etc目录中。 有人可以帮我吗?
我尝试如下使用Dockerfile: 但这根本行不通。我浏览了该图像的文档,作者告诉我使用以下命令:docker run --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
答案 0 :(得分:1)
我对这种方法不熟悉,但是在查看了源文件(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!
答案 1 :(得分:0)
容器中的更改将丢失,直到将其提交回映像为止。
您可以在ENTRYPOINT之前使用此docker文件https://hub.docker.com/r/mkroli/servicemix/dockerfile和复制语句。
COPY ./docs /opt/apache-servicemix/etc