Ani*_*iks 5 image docker dockerfile docker-registry docker-compose
我是 docker 新手,刚刚开始探索它。我想要实现的是发布一个 Docker 镜像,它只有一些配置文件。这些文件将在多个项目之间共享。
所以我要发布的图像是“my-config-image”。
目录结构是这样的:
/my-config-settings
/folder1/multiple files
/folder2/multiple files
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)
在线阅读并完成 docker 快速入门后,我有了一些了解。
我决定使用 Create a simple base image using scratch. 引用自(https://docs.docker.com/engine/userguide/eng-image/baseimages/)
这就是我的 Dockerfile 的样子。
FROM scratch
ADD folder1 / folder2 /
Run Code Online (Sandbox Code Playgroud)
这是我用来发布图像的命令。
/my-config-settings/docker build -t my-config-image .
Sending build context to Docker daemon 5.12 kB
Step 1 : FROM scratch
--->
Step 2 : ADD folder1 / folder2 /
---> Using cache
---> cc9c3f338f51
Successfully built cc9c3f338f51
Run Code Online (Sandbox Code Playgroud)
当我想检查图像是否在本地创建时,我通过执行以这种方式确认它
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my-config-image latest cc9c3f338f51 2 minutes ago 39 B
Run Code Online (Sandbox Code Playgroud)
我的主要查询是如何检查这是否有效,是否将 file1.txt 和 file2.txt 添加到图像中,如果没有,我如何指定在图像中添加这些文件。
有没有办法可以将所有文件和目录递归添加到我尝试创建的图像中?
还有如何访问此图像,意味着如何检查此图像是否确实包含所有文件夹和文件。有没有办法cd到这个?
如果我尝试做的事情没有意义,我可以接受建议并查看另一种 docker 方法。
感谢您的阅读。
您正在尝试使用应用程序管理方法解决配置管理问题。对于共享配置,您通常希望采用“集中位置方法”。基本示例是 git 存储库或 S3 存储桶。这两种解决方案都具有本机文档存储,并且可以在具有细粒度访问控制的服务之间适当共享。
docker 镜像不是存储/共享配置的 docker 方法。通过拥有镜像,您基本上可以做两件事:
1. 基于初始镜像构建其他镜像
2. 运行容器
鉴于这里的映像只是Scratch文件,因此没有可执行文件,也没有任何可运行的内容。hello world 示例复制了一个包含实际脚本的目录,这就是为什么他们最终得到了一个可运行的容器。
作为基础镜像,配置在依赖关系之类的事情之前是没有意义的。
如果您确实想为此使用 docker 工具,那么您正在寻找 docker 卷。它可以持久保存文件系统,并且很容易在不同容器之间共享。 https://docs.docker.com/engine/userguide/containers/dockervolumes/
| 归档时间: |
|
| 查看次数: |
2979 次 |
| 最近记录: |