我尝试遵循下面提到的两个步骤:
1)下载的源代码
https://sourceforge.net/projects/hunspell/files/Hyphen/2.8/hyphen-2.8.8.tar.gz/download
2)编译它,你会得到二进制命名的例子:
hyphen-2.8.8$ ./example/dev/smc/hyphenation/hi_IN/hyph_hi_IN. dic ~/hi_sample.text
我已经下载并解压缩了tar文件。我的问题是如何创建一个dockerfile来自动化这个过程?
只涉及3个命令:
./configure
make all-recursive
make install
我可以选择官方的python镜像作为基本容器。但是如何在docker文件中编写命令呢?
2条答案
按热度按时间yftpprvb1#
你可以使用
RUN
命令:<some command here>
的用法取决于图像的用途。请记住,Docker容器只在该命令执行时运行,因此如果您将configure/make/install
步骤放入脚本中并将其用作入口点,它将构建您的程序,然后容器将停止。您还需要将下载的文件放入容器中。这可以使用
COPY
或ADD
指令(当然在RUN
之前)来完成。如果您在本地保存了tar.gz
文件,那么ADD
会将该文件复制到容器 * 中,并自动将其展开到目录中。COPY
不会扩展它,所以如果你这样做,你需要添加一个tar -zxvf
或类似的RUN
。如果你想直接将文件下载到容器中,可以用
ADD <source URL>
来完成,但是在这种情况下,它不会扩展它,所以你必须在RUN
中完成。COPY
不允许从URL进行源代码。This post更详细地解释了COPY
与ADD
。x4shl7ld2#
您可以在shell脚本中使用这三个命令,然后使用以下docker命令
作为参考,你可以创建你的docker文件,就像他们为我在Apache ActiveMQ Artemis上工作的一个项目创建的一样:https://github.com/apache/activemq-artemis/blob/master/artemis-docker/Dockerfile-ubuntu