我正在尝试COPY
从migrate
容器访问二进制ed
。当我COPY
使用python:3.7-alpine
它时,但是找不到我COPY
使用debian:buster-slim
它时。
复制的最小步骤:
1.创建Dockerfile.test
FROM migrate/migrate:v4.6.2 AS migrate
FROM python:3.7-alpine
COPY --from=migrate /migrate /
CMD "/migrate"
构建并运行。这可行。
docker build . -t migrate_test -f Dockerfile.test
docker run –name migrate_test migrate_test:latest
Usage: migrate OPTIONS COMMAND [arg…]
migrate [ -version | -help ]
停止并取出容器
docker stop migrate_test;docker rm migrate_test;
在Dockerfile.test中更改图像
FROM migrate/migrate:v4.6.2 AS migrate
FROM debian:buster-slim
COPY –from=migrate /migrate /
CMD “/migrate”
构建并运行。这不行
docker build . -t migrate_test -f Dockerfile.test
docker run –name migrate_test migrate_test:latest
/bin/sh: 1: /migrate: not found
看起来您的工作正常,但只是为了阐明可能会发现您问题的其他人的情况:
问题是,该版本migrate/migrate:v4.6.2
基于使用MUSL libc的Alpine映像构建,而其他大多数发行版都使用glibc。您将收到“未找到”消息,因为内核正在寻找路径已嵌入映像中的动态加载器,如我们在ldd
命令中看到的:
/ # ldd /migrate
/lib/ld-musl-x86_64.so.1 (0x7f9e42ebd000)
libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f9e42ebd000)
该二进制文件将在基于Alpine的映像上可用,但不能在Debian,Ubuntu,Fedora,CentOS等映像上使用。一种选择是简单地在Dockerfile中复制必要的加载程序:
FROM migrate/migrate:v4.6.2 AS migrate
FROM debian:buster-slim
COPY --from=migrate /migrate /
COPY --from=migrate /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
CMD "/migrate"
另一个解决方案是migrate
为您的目标发行版重建命令。
我有一个包含多个属性的属性文件。多个对多个(我们的)产品有效,有些只对一个产品有效(不能通过属性名称区分)。因此,在一个产品基于ANT的构建过程中,我想将包含所有属性的原始文件复制到产品特定文件中,跳过适用于其他产品的部分。我可以想象使用一些开始和结束标记,例如。 对于产品 1,我想获取文件 和产品2 ANT是否可能实现这样的事情,或者我应该编写自己的Java帮助程序类?
我正在使用PyCharm和PySpark运行一个巨大的文本文件。 这就是我想做的: 但是,PyCharm抛给我这个错误: 我只是不明白为什么。toPandas()不工作。Spark版本为2.3。这个版本有什么我不知道的变化吗?我用spark 2.2在另一台机器上运行了这段代码,它运行得很好。 我甚至把出口线改成了这样 仍然得到相同的错误。我做错了什么?是否有其他方法可以在不影响性能的情况下将导出到
我使用模块连接到返回PNG图像的php脚本。如果我这样做: 但是它在编写时给出了UnicodeEncodeError,所以我使用了而不是。文件已创建,但我无法在图像查看器中查看它(它会出错)。但是,如果我右键单击并在Firefox中保存该脚本返回的PNG,我可以在保存后在同一图像查看器中查看它。所以我猜我将图像数据写入文件的方式有问题。还有别的办法吗?
我想循环查看Audio\u files文件夹中的文件,检查它是原始文件还是wave文件,并将其放在相应的目录中。这是我的代码: 请告诉我哪里出错了。我得到的错误是: 回溯(最近一次调用last):文件“/checkaudiofiles.py”,第12行,在shutil中。复制(文件,目标)文件“/usr/lib/python2.7/shutil.py”,第119行,在copyfile(src,ds
我有一个多模块maven项目,我想为每个模块创建和发布一个映像,除了一个通用的实用程序模块,它是所有其他模块的依赖项。 项目结构如下: 为了构建一个fox示例中的module\u,我需要将common\u module文件夹也复制到容器中,并首先在common文件夹上运行mvn install。如果已经构建好,我可以在模块a
我有一个简单的Dockerfile来将python需求构建到一个zip文件中,然后上传到AWS Lambda。 有没有复制python的方法。在dockerfile期间将图像压缩到主机?