开发者社区> eacdy0000> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Docker系列教程21-Docker Compose快速入门

简介: 原文:http://www.itmuch.com/docker/21-docker-compose-quick-start/,转载请注明出处。 本节我们来探讨Compose使用的基本步骤,并编写一个简单示例快速入门。
+关注继续查看

原文:http://www.itmuch.com/docker/21-docker-compose-quick-start/,转载请注明出处。

本节我们来探讨Compose使用的基本步骤,并编写一个简单示例快速入门。

基本步骤

使用Compose大致有三个步骤:

  • 使用Dockerfile(或其他方式)定义应用程序环境,以便在任何地方重现该环境。
  • 在docker-compose.yml文件中定义组成应用程序的服务,以便各个服务在一个隔离的环境中一起运行。
  • 运行docker-compose up命令,启动并运行整个应用程序。

入门示例

下面笔者以之前课上用到的Eureka为例讲解Compose的基本步骤。

  • microservice-discovery-eureka-0.0.1-SNAPSHOT.jar 所在路径(默认是项目的target目录)创建Dockerfile文件,并在其中添加如下内容。

    FROM java:8
    VOLUME /tmp
    ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar
    RUN bash -c 'touch /app.jar'
    EXPOSE 9000
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    
  • microservice-discovery-eureka-0.0.1-SNAPSHOT.jar 所在路径创建文件docker-compose.yml,在其中添加如下内容。

    version: '2'          # 表示该docker-compose.yml文件使用的是Version 2 file format
    services:
      eureka:             # 指定服务名称
        build: .          # 指定Dockerfile所在路径
        ports:
          - "8761:8761"       # 指定端口映射,类似docker run的-p选项,注意使用字符串形式
    
  • docker-compose.yml 所在路径执行以下命令。

    docker-compose up
    

    Compose就会自动构建镜像并使用镜像启动容器。我们也可使用docker-compose up -d 后台启动并运行这些容器。

  • 访问:http://宿主机IP:8761/ ,即可访问Eureka Server首页。

工程、服务、容器

Docker Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker Compose运行目录下的所有文件(docker-compose.yml, extends文件或环境变量文件等)组成一个工程(默认为docker-compose.yml所在目录的目录名称)。一个工程可包含多个服务;每个服务中定义了容器运行的镜像、参数和依赖,一个服务可包括多个容器实例。

对应《入门示例》一节,工程名称是docker-compose.yml所在的目录名。该工程包含了1个服务,服务名称是eureka;执行docker-compose up时,启动了eureka服务的1个容器实例。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Docker 系列(11):如何使用Docker Compose
大家好,我是阿萨。上一次学习了docker compose的用法:[Docker学习笔记十:docker Compose]。本节课学习下如何使用它。
0 0
Docker 系列(10): Docker compose
大家好,我是阿萨。前几天学会了启动多个容器来达成自己的目标。今天学习docker compose。
0 0
Docker | Compose创建mysql容器
Docker | Compose创建mysql容器
0 0
Docker Compose之容器编排开发初探
Docker Compose之容器编排开发初探
0 0
Docker Compose安装部署Jenkins
Docker Compose安装部署Jenkins
0 0
Docker compose部署Seata Server1.5.2
Docker compose部署Seata Server1.5.2
0 0
Docker compose快速部署minio服务
Docker compose快速部署minio服务
0 0
Docker、Docker compose的安装
Docker、Docker compose的安装
0 0
Docker Compose
Docker Compose
0 0
+关注
eacdy0000
I do things.
文章
问答
文章排行榜
最热
最新
相关电子书
更多
玩转Docker社区–“码头工人”的技术进阶心得
立即下载
Docker 镜像原理和最佳实践
立即下载
4天实战 轻松玩转docker
立即下载