背景
为了使Django能将接收到的pdf转化成swf,需要制作一个有着python3.6+swftools环境的镜像。
过程
1. 去swftools官网下载swftools
http://www.swftools.org/download.html
2. 解压swftools压缩包,并修改swf
[root@localhost software]# tar -zxvf swftools-0.9.2.tar.gz
[root@localhost software]# cd swftools-0.9.2/
[root@localhost swftools-0.9.2]# vim swfs/Makefile.in
Makefile.in
将两处-o -L删除
3. 编写Dockerfile
# 在swftools-0.9.2的同级目录下, 新建Dockerfile
[root@localhost software]# vim Dockerfile
FROM centos:centos7
COPY swftools-0.9.2 /swftools/
RUN yum install -y python36 && \
yum -y install gcc* automake giflib-devel libjpeg-devel freetype-devel t1lib-devel zlib make && \
cd swftools && \
./configure --prefix=/usr/local/swftools && \
make && \
make install
ENV PATH $PATH:/usr/local/swftools/bin
4. 用Dockerfile构建镜像
# 最后的文件目录
[root@localhost software]# ls
Dockerfile swftools-0.9.2 swftools-0.9.2.tar.gz
# 执行构建命令
[root@localhost software]# docker build -t python36_swftools .
# 构建结束, 可以看到构建好的镜像
[root@localhost software]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python36_swftools latest edb26519e4cc 46 seconds ago 658 MB