在 Docker 中将自定义二进制文件添加到容器 PATH?

在 Docker 中将自定义二进制文件添加到容器 PATH?

我想向其中一个容器添加自定义二进制可执行文件。我已经在我的计算机上创建了它并尝试添加它。起初,我考虑将某个目录挂载为,/tmp/foo然后将其复制到/usr/bin/。不是很好,但应该可以解决问题。为此,我在中定义了以下卷挂载docker-compose.yml

volumes:
  - ./var/bin/:/tmp/bin/

并执行以下命令Dockerfile

RUN ls /tmp/bin

RUN cp /tmp/bin/wkhtmltoimage /usr/local/bin/ && cp /tmp/bin/wkhtmltopdf /usr/local/bin/

正如你所见,我已经添加了列表目录来检查其中是否有任何内容,并且我得到了

ls: cannot access /tmp/bin: No such file or directory
ERROR: Service 'web' failed to build: The command '/bin/sh -c ls /tmp/bin' returned a non-zero code: 2

现在,有两个问题:1. 为什么这个目录在容器的命令行中不可见?其他挂载可用... 2. 我如何才能“正确”地实现这一目标?这样二进制文件将在映像构建期间被复制/设置一次,并且不需要在每次运行容器时进行映射?

相关内容