docker工和包装工有什么不同? configuration图像时应该select哪一个?
封隔器和docker工人有什么不同? 哪一个更容易/最快的提供/维护,为什么? 有一个docker文件有什么优点和缺点?
Docker是一个用于构build,分发和运行Docker容器的系统 。 容器可以在Linux和Windows上运行。
Packer是一个自动构build系统,用于pipe理为容器和虚拟机创build映像。 它输出一个图像,然后你可以在你需要的平台上运行。
其中包括Alicloud ECS,Amazon EC2,Azure,CloudStack,DigitalOcean,Docker,Google Cloud,Hyper-V,LXC,LXD,1&1,OpenStack,Oracle OCI,Parallels,ProfitBricks,QEMU,Triton,VirtualBox,VMware
Docker Dockerfile
Docker使用Dockerfile
来pipe理构build,这些构build具有关于如何构build容器的特定指令和规则。
图像是分层构build的。 每个FROM
RUN
ADD
COPY
命令都会修改Docker镜像中包含的图层。 这些图层可以被caching,这有助于加速构build。 每个图层也可以单独寻址,这有助于在多个图像共享图层时使用磁盘和下载使用。
Dockerfiles有一些学习曲线,最好看一些正式的Docker镜像 ,以便遵循实践。
包装商dockerbuild设者
打包器不需要Dockerfile
来构build容器映像。 它从指定的基础图像(如FROM
)开始。 然后,打包程序允许您在该映像的顶部运行名为“Provisioners”的标准系统configuration工具。 像Ansible,Chef,Salt,Shells脚本等东西。这个图像将作为单层导出,所以与Dockerfile构build相比,您将失去图层caching/寻址优势。
Packer允许对构build容器进行一些修改,比如在构build时运行为--privileged
或者安装卷,Docker构build的将不允许。
您可能想要使用Packer的时间是如果您想要为多个平台构build映像并使用相同的设置。 如果有configuration文件,也可以使用现有的构build脚本。
- 你如何使用DigitalOcean上的Gitlab Registry的docker-compose?
- 坚持dynamicElasticsearch集群节点数据的策略
- add-host中的IP地址无效:“”+编程FILTER链失败:iptables失败
- 备份机器上的数据卷容器
- 系统重新启动后,Mnesia无法识别数据(no_exists错误)
- Dockernetworking:自动发现网桥中的主机名
- 私人docker登记/回购的现代状态
- Docker:当Dockerfile位于子目录中时使用COPY
- VirtualBox中的CentOS 7 – 无法parsing主机:mirrorlist.centos.org