u010200767
图森破少年
2018-05-17 17:38
采纳率: 23.9%
浏览 731

dockerfile的问题!!!

我clone的angular项目里有个dockerfile和docker-compose,我想问下这个项目的dockerfile是构件一个docker镜像,这个镜像的作用就是,
如果我当前机器里没有一些不要的环境,比如nodejs,我运行这个镜像的容器后我还是可以运行这个项目对吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_42052466
    qq_42052466 2018-05-18 00:36
    已采纳

    我所理解的docker-compose是编排容器的。例如,你有一个php镜像,一个mysql镜像,一个nginx镜像。如果没有docker-compose,那么每次启动的时候,你需要敲各个容器的启动参数,环境变量,容器命名,指定不同容器的链接参数等等一系列的操作,相当繁琐。而用了docker-composer之后,你就可以把这些命令一次性写在docker-composer.yml文件中,以后每次启动这一整个环境(含3个容器)的时候,你只要敲一个docker-composer up命令就ok了。所以说,只要你在docker-compose中有有所需要的环境代码,就可以在机器里运行这个项目

    点赞 评论
  • ZhihengTao
    ZhihengTao 2018-05-18 02:36

    你需要理解清楚几个关键的概念:
    1. (docker)镜像
    2. (docker)容器

    镜像

    软件及其**所有**依赖按照某种协议进行打包后得到的压缩文件, 此镜像文件可以在任何支持容器的主机中运行,并且应该具有相同的运行表现.
    可以类比虚拟机的镜像文件.

    容器

    依据一个容器镜像文件,构建一个具有一定隔离的独立轻量的运行环境, 并在此环境中执行镜像内的软件. 可以类比运行的虚拟机实例.

    然后再说dockerfile, docker-compose

    dockerfile

    定义了一系列构建容器镜像规则的文件, 即依据此文件可以生成一个镜像. 这个镜像可以用来运行容器.

    docker-compose

    容器编排工具. 一台(或多台)主机上可以运行很多很多容器,他们一般需要协同工作.所以其网络端口,挂载的主机文件等都需要配置,
    容器运行中可能需要从一台主机迁移到另一台主机.
    容器编排工具即是用来简化容器配置和容器调度的.

    点赞 评论

相关推荐