是否有任何简单的方法将Dockerfile转换为Bash脚本以便在真实操作系统上安装所有软件?原因是码头集装箱我不能改变,如果他们没有解决问题,我想事后改变一些东西。将Dockerfile转换为Bash脚本
5
A
回答
1
总之 - 没有。
通过使用诸如dockerfile-parse之类的工具解析Dockerfile,您可以运行单个的RUN
命令,但这不会复制Dockerfile的输出。
您将不得不运行相同版本的相同操作系统。
ADD
和COPY
命令会影响文件系统,该文件系统位于其自己的命名空间中。在容器外部运行这些可能会破坏主机系统。您的主机也会在容器映像不会显示的位置放置文件。
VOLUME
挂载也会影响filesytem。
FROM
图片(可能会从其他图片下降)可能安装了其他应用程序。
如果存在较大的安装或下载步骤,写入Dockerfiles可能是一个缓慢的过程。为了缓解这种情况,请尝试添加新软件包作为新的RUN
命令(以充分利用缓存)并逐步添加功能,只在功能完成时优化/压缩这些层。
您可能还想使用类似ServerSpec的东西来获取容器图像的TDD方法,并防止在开发过程中出现回归。
最佳实践文档here,gotchas和original article。
0
可以在里面dockerfile安装应用程序像这样
FROM <base>
RUN apt-get update -y
RUN apt-get install <some application> -y
0
基本上你可以使用“泊坞窗出口”泊坞窗容器的文件系统的副本,然后可以写一个循环设备:
docker build -t <YOUR-IMAGE> ...
docker create --name=<YOUR-CONTAINER> <YOUR-IMAGE>
dd if=/dev/zero of=disk.img bs=1 count=0 seek=1G
mkfs.ext2 -F disk.img
sudo mount -o loop disk.img /mnt
docker export <YOUR-CONTAINER> | sudo tar x -C /mnt
sudo umount /mnt
将Docker容器转换为原始文件系统映像。
相关问题
- 1. 将csh脚本转换为bash脚本
- 2. 将Bash脚本转换为PowerShell
- 3. 将Bash脚本转换为Shell
- 4. 将脚本从ksh转换为bash
- 5. 转换Bash脚本为OpenVMS语法
- 6. bash脚本到tcl脚本转换器
- 7. 从Dockerfile创建bash脚本评论
- 8. 将Perl脚本转换为VBA脚本
- 9. 将VBA脚本转换为Unix脚本
- 10. 将ant脚本转换为gradle脚本
- 11. 将脚本转换为HTML5
- 12. 将脚本转换为RTF
- 13. 无法bash脚本转换为岩组脚本
- 14. 批量转换为Bash/Shell脚本转换器
- 15. 在bash脚本中将csv转换为CRLF行尾
- 16. 将简单的Bash脚本转换为PowerShell?
- 17. 如何将bash脚本语言转换为java
- 18. 将Bash shell脚本转换为批处理文件
- 19. 如何将bash脚本输出转换为json
- 20. 将bash脚本转换为兼容HP-UX操作系统的
- 21. 将程序从c转换为bash脚本
- 22. 如何将bash shell脚本转换为.bat文件?
- 23. 将一个简单的温度bash脚本转换为javascript
- 24. 试图将bash脚本转换为perl,无效
- 25. 将Bash脚本转换为C.可能吗?
- 26. 将cshell转换为bash
- 27. Bash - 将sub.site.com转换为com_site_sub?
- 28. 将cygwin bash转换为tcsh
- 29. 转换科学记数法bash脚本
- 30. bash脚本:提取和转换文件
您可以运行的Dockerfile运行自己的命令。但是你不能将它基于的图像“转换”为脚本。如果你不喜欢Docker镜像的工作方式,请修改Dockerfile并重试一次? –