是否有简单的方法将Dockerfile转换为Bash脚本,以便在实际操作系统上安装所有软件?原因是Docker容器我无法更改,我希望之后可以更改一些东西,如果它们没有起作用。
是否有简单的方法将Dockerfile转换为Bash脚本,以便在实际操作系统上安装所有软件?原因是Docker容器我无法更改,我希望之后可以更改一些东西,如果它们没有起作用。
RUN
命令,但这不会复制 Dockerfile 的输出。ADD
和 COPY
命令影响文件系统,该文件系统处于自己的命名空间中。在容器外运行这些命令可能会破坏主机系统。您的主机还将在容器映像中不存在的位置上有文件。
VOLUME
挂载也会影响文件系统。
FROM
映像(可能又是其他映像的后代)可能已安装其他应用程序。RUN
命令添加(以利用缓存),并逐步添加功能,只有在功能完成时才优化/压缩层。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
您可以像这样在Dockerfile中安装应用程序
FROM <base>
RUN apt-get update -y
RUN apt-get install <some application> -y