Tag: jinja2

dockerize一个python / jinja2程序来生成一个pdf文档

我写了一个python程序,使用Jinja2和Latex文件( template.tex )来dynamic地呈现tex文件,即将jinjavariables传递给template.tex。 该文件被称为jinja_engine.py。 这是执行的内容: # import functions # import variables if __name__ == '__main__': template = latex_jinja_env.get_template('template.tex') print (template.render(blocks = blocks, **options)) 该程序基本上打印出控制台上呈现的文件。 我用docker来build立我的程序的图像。 这里是Dockerfile: # base image FROM python:3-onbuild # run app CMD ["python", "./jinja_engine.py"] 当我运行容器时,我又得到了我的控制台上打印的渲染文件。 接下来,我想将渲染的文件转换为pdf。 在我的应用程序中,我可以通过首先将渲染文件写入文件(例如out_file.tex ),然后使用subprocess模块编译它,例如subprocess.call(['pdflatex', 'out_file.tex'], shell=False) 。 我的问题是,我将如何在一个容器中做到这一点? 我应该使用一个新的容器来编译output.tex到pdf吗? 你会推荐什么? 谢谢

Kubernetes:从j2模板dynamic创buildconfigurationjson文件

在kubernetes或docker中是否有已经内置的j2模板处理器? 我正在做下面的configuration,并希望插入模板上的值。 请注意,使用hostPath不是一个选项,因为这是使用openshift并且不能使用pv / pvc。 containers: – image: some-docker-image:latest name: some-docker-image volumeMounts: – mountPath: /etc/app/conf name: configuration-volume . . Do some j2 template processing here if possible. . volumes: – name: configuration-volume gitRepo: repository: "https://gitrepo/repo/example.git

为什么ansible总是用模板中的单引号replace双引号?

我正在尝试使用Ansible模板生成Dockerfiles – 请参阅Ansible Galaxy和Github中的angular色源和模板 我需要genarate像标准的Dockerfile行: … VOLUME ["/etc/postgresql/9.4"] … 但是,当我把这个在input文件中: … instruction: CMD value: "[\"/etc/postgresql/{{postgresql_version}}\"]" … 它最终呈现为: … VOLUME ['/etc/postgresql/9.4'] … 我失去了“(这使得Dockerfiles无用) 任何帮助? 我怎样才能说服Jinja不能替代“with”?我试过了, “ 安全filter,甚至是{%raw%} – 它只是继续这样做! 更新:这里是如何重现这个问题: 从galaxy.ansible.com或Github获取peruncs.dockerangular色(链接在上面给出)用下面的内容编写一个简单的手册(说demo.yml )并运行: ansible-playbook -v demo.yml 。 -v选项将允许您查看生成的Dockerfile与破碎的内容所在的临时目录,因此您可以检查它。 生成Docker镜像对于成功并不重要,只要尝试获取Dockerfile即可。 – name: Build docker image hosts: localhost vars: – somevar: whatever – image_tag: "blabla/booboo" – docker_copy_files: [] – […]

在Ansible中逃避双花括号

如何摆脱Ansible 1.9.2双花括号? 例如,如何在下面的shell命令中转义双花括号? – name: Test shell: "docker inspect –format '{{ .NetworkSettings.IPAddress }}' instance1"