当前位置: 首页 > 知识库问答 >
问题:

创建dockerfile以编译源代码

章哲彦
2023-03-14

我试图遵循下面提到的两个步骤:

1)下载的源代码

https://sourceforge.net/projects/hunspell/files/hyphen/2.8/hyphen-2.8.8.tar.gz/download

连字符-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文件中编写命令呢?

共有1个答案

郑景胜
2023-03-14

可以使用run命令执行此操作:

FROM python:<version number here>

RUN ./configure && make-recursive && make install

CMD ['<some command here>']

用于<此处的某些命令>的内容取决于图像的目的。请记住,docker容器只在该命令执行时运行,因此如果您将configure/make/install步骤放在脚本中并将其用作入口点,它将构建您的程序,然后容器将停止。

此外,您还需要将下载的文件放入容器中。这可以使用copyadd指令来完成(当然是在run之前)。如果您将tar.gz文件保存在本地,那么add将自动将文件复制到容器中并将其扩展到目录中。copy不会展开它,因此如果这样做,您需要添加tar-zxvf或类似于run

如果要将文件直接下载到容器中,可以使用add来完成,但在这种情况下,它不会展开文件,因此必须在run中完成。copy不允许从URL进行源。本文更详细地解释了复制添加

 类似资料:
  • 编译solidity源代码 通过solc编译器编译solidity代码到字节码。你可以参考solidity安装文档在本地安装编译器。 编写solidity代码运行: $ solc <contract>.sol --bin --abi --optimize -o <output-dir>/ bin和ABI编译器参数都需要充分利用web3j中的智能合约。 bin,输出包含十六进制编码的solidit

  • Android项目中可编译的资源文件存放在res目录下,在R.java中会自动生成这些资源文件的ID,可以通过R.XXX.ID来访问。 光标放在不同的文件夹上,新建列表中显示的选项是不同的。 1.如果光标放到module上. 操作步骤: 菜单栏: File | 右击module —> New —> Android resource file 弹出[New Resource File]对话框 Fil

  • 问题内容: 现在显然,解析器本身并没有什么用(除了静态分析)。我想将转换应用于AST,然后将其编译回源代码。应用转换不是什么大问题,普通的Visitor模式应该可以。 我目前的问题是如何将AST编译回源代码。我基本上看到两种可能性: 使用一些预定义的方案编译代码 保留原始代码的格式,并仅在已更改的节点上应用1.。 现在,我想专注于1.,因为2.似乎很难完成(但是,如果您有关于此的提示,我想听听他们

  • 有时,我们需要从源代码重新编译一个Kali包.幸运的是用APT下载源代码包,进行必要的修改后再用Debian工具重新编译是如此的简单.此例中,为了添加额外的Mifare Key硬编码到mifare格式化工具,我们将重新编译libfreefare这个包. 下载包的源代码 # Get the source package apt-get source libfreefare cd libfreefar

  • 有些情况下,比如我们自己从Github下载了最新的代码,或者自己临时修改了一点代码,想要编译后的Build文件夹的内容,需要自行编译源码,这里介绍一下编译的方法 下载源码之后,可以发现根目录存在一个gulpfile.js文件,编译源码就是使用 gulp 编译的成果有四部分, – 生成Apps文件夹,包括helloworld程序和沙盒Sandcastle – 编译后的部署环境下的Cesium文件夹

  • 问题内容: 如何将Android DEX(VM字节码)文件反编译为相应的Java源代码? 问题答案: It’s easy 获取以下工具: 1)dex2jar将dex文件转换为jar文件 2)jd-gui查看jar中的java文件 由于dex2jar进行了一些优化,因此源代码具有很高的可读性。 Procedure:: 这是有关如何反编译的过程: 步骤1: 将中的转换为 注1:在Windows计算机上