美文网首页
Docker-compose简介

Docker-compose简介

作者: yichen_china | 来源:发表于2021-08-04 16:57 被阅读0次

    Docker-compose听起来像是一个由YAML语法定义的文本文件,通过docker-compose命令行解释执行。在docker-compose.yml文件中,你可以编辑你需要运行的Docker容器(称之为服务),以及这些服务之间的依赖关系。Docker-compose可以很好地帮你维护这些服务的生命周期。在Docker for Windows中,docker-compose是被默认安装的,你可以通过--version参数来查看安装的版本:
    而对于运行于Hyper-V托管的Linux中,docker-compose需要单独安装。安装方法请参考:https://docs.docker.com/compose/install/。推荐使用1.13.0以上的版本,新版本对Compose file 3.0的支持会比较好。

    举个例子,在我自己开发的Apworks框架中,我使用如下docker-compose.yml来定义我的基础服务运行容器:

    version: "3"
    services:
      mongo:
        image: mongo
        ports:
          - "27017:27017"
        container_name: apworks_mongodb
     
      postgres:
        image: orchardup/postgresql
        ports:
          - "5432:5432"
        environment:
          - POSTGRESQL_USER=test
          - POSTGRESQL_PASS=oe9jaacZLbR9pN
          - POSTGRESQL_DB=test
        container_name: apworks_psql
     
      rabbit:
        image: rabbitmq
        ports:
          - 5672:5672
          - 4369:4369
          - 5671:5671
          - 25672:25672
        container_name: apworks_rabbitmq
    

    这个docker-compose.yml文件中指定启动三个容器:MongoDB、PostgreSQL以及RabbitMQ,分别定义成了三个服务(service)。这个compose文件还是比较简单的,没有牵涉到容器之间的依赖关系。我只需要在这个文件所在目录中,执行下面这条命令,即可同时启动这三个服务:

    sudo docker-compose up

    非常方便。启动结果如下:

    image

    还可以在docker-compose命令中加入-d参数,使得所有服务在后台运行。有关Compose文件的格式定义,请参考:https://docs.docker.com/compose/compose-file/。在工作中我们也使用了docker-compose帮助用户搭建他们自己的微服务环境,我们分发给用户的仅仅是一个docker-compose.yml文本文件,一旦运行,所有的基础服务容器都会运行起来,用以为前台的数据分析系统提供服务保障。

    相关文章

      网友评论

          本文标题:Docker-compose简介

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