Docker

作者: 幻雪寒臣 | 来源:发表于2021-04-17 13:12 被阅读0次

问题:

    通过发布平台构建新的应用镜像的时候,由于缺少了一个nginx yum包,导致最后运行时没有配置上nginx。

原因:

1. 依赖的内部yum仓库里把这个nginx的yum包移到了回收站,所以导致我再去拉的时候就拉不到这个包了

2. 而docker build时,如果yum install的包不存在,是不会中断docker build的,docker还是可以把镜像构建出来。

解决办法:

    把运行时需要的环境工具做成基础镜像,而不是在每次build时再重新去安装。

分析:

    Docker提供一致的运行环境

    镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。

-> 这里可以看到docker本身就提供了解决环境问题的思路,通过镜像提过了一致的运行环境。并且每一层构建完成后就是只读的。所以对于作为基础运行环境的软件,放到基础层就比较合适。每次对更新的应用程序构建镜像,不需要也不应该再去构建其所需要的运行环境。

Docker的基础概念:

    Docker - Build,ship,and Run Any App,Anywhere

1. 镜像:是一个特殊的文件系统,除了提供容器运行所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数

2. 容器:是镜像运行时的实体。容器的实质是进程,运行在属于自己的独立的命名空间。

    按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此, 使用数据卷后,容器可以随意删除、重新 run ,数据却不会丢失。

3. 仓库:镜像仓库是Docker用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。

参考:可能是把Docker的概念讲的最清楚的一篇文章

相关文章

  • docker学习

    docker镜像 docker容器 docker仓库 安装docker docker版本 docker分为社区版和...

  • Docker安装和运行

    获取Docker 安装Docker 验证安装 1、获取Docker Docker for Mac Docker f...

  • Docker知识手册

    Docker 容器 启动docker:docker start 查看docker运行状态:docker stats...

  • Docker简介

    章节介绍 # Docker是什么# Docker包括什么# Docker镜像# Docker编配# Docker还...

  • Docker 常用操作

    Docker docker: 18.09.4、nvidia-docker: 2.0.3 docker 19.03 ...

  • rancher+harbor离线安装

    安装docker,此docker为社区版docker。docker官方文档:https://docs.docker...

  • Linux之Docker

    Linux之Docker 目录 Docker简单介绍 在线Docker安装 离线Docker安装 Docker简单...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

  • docker容器状态查看命令集

    docker inspect 用法 : docker inspect [docker名称/docker short...

网友评论

      本文标题:Docker

      本文链接:https://www.haomeiwen.com/subject/uovulltx.html