向主机公开 Docker 应用程序

Exposing Docker application to host

我希望 运行 一个与 centos6 兼容的遗留应用程序不再维护某些依赖项,因此与 centos7 不兼容。此应用程序称为 pdftk。

我想(如果这是远程可能的)运行 pdftk 在 centos6 的 docker 图像中并将此应用程序公开给 centos7...

该应用会做几件事:

以PDF文档作为输入&表单数据作为输入->用表单数据填充PDF->输出填充的PDF。

该命令可能看起来有点像这样:

pdftk input.pdf --do-something output.pdf

docker 可以实现这样的功能吗?

到目前为止,我已经能够初始化centos6 映像并成功安装pdftk。非常感谢对下一部分的任何帮助(如果可能的话)。

谢谢

您可以用Centos6 为基础编写一个Dockerfile,然后安装pdftk 和任何其他依赖项。最后使用 Dockerfile 命令 ENTRYPOINT 将 pdftk 设置为您的图像的命令,并将您想要的参数传递给它。例如(我没测试过,只是举个例子):

FROM centos:centos6
RUN yum install pdftk
ENTRYPOINT ["/usr/bin/pdftk"]

然后就可以构建这个镜像了。假设你称它为 'pdftk',你可以 运行 容器为:docker run -it --rm pdftk <arguments> -> docker run -it --rm -v ~/my_pdfs:/pdfs pdftk /pdfs/input.pdf --do-something /pdfs/output.pdf