我想运行一个预先存在的Docker镜像:
docker run -d --name cdt-selenium selenium/standalone-firefox:3.4.0-chromium
因此我没有为此图像控制Dockerfile。但是,我想将一些文件复制到此容器中。
如果我控制了Dockerfile,我想运行这些命令:
RUN mkdir -p /root/cdt-tests/csv-data
COPY ./csv-data/* /root/cdt-tests/csv-data
有没有办法在与上面的Docker run命令相同的行中运行这些命令?
我试过了:
docker run -d --name cdt-selenium selenium/standalone-firefox:3.4.0-chromium
docker exec cdt-selenium mkdir -p /root/cdt-tests/csv-data
docker cp cdt-selenium:/root/cdt-tests/csv-data ./csv-data
但是我在docker exec行上出现了权限错误
答案 0 :(得分:3)
所有图片都有List<Map.Entry<Key,Value>> firstN = EntryStream.of(map).limit(n).toList();
行,可以是任何其他图片。所以你可以用:
FROM
将运行您的命令构建您自己的图像。
您可以构建它并创建自己的标记:
FROM selenium/standalone-firefox:3.4.0-chromium
USER root
RUN mkdir -p /root/cdt-tests/csv-data
COPY ./csv-data/* /root/cdt-tests/csv-data
USER seluser
然后运行它:
docker build -t alexander/selenium:3.4.0-chromium .
编辑:您运行的exec命令失败,因为docker以不同的用户身份运行此容器。你可以在Dockerfile中看到它。要解决此问题,请使用root用户选项(docker run -d --name cdt-selenium alexander/selenium:3.4.0-chromium
)运行exec:
-u root