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个容器实例。

目录
相关文章
|
9天前
|
应用服务中间件 nginx Docker
单机编排工具之docker-compose快速入门使用
这篇文章是关于如何使用docker-compose进行单机编排的快速入门指南,包括了镜像准备、docker-compose安装、使用教程以及验证服务生效的步骤。
34 2
单机编排工具之docker-compose快速入门使用
|
6天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
27天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
8天前
|
Ubuntu Linux Docker
docker swarm快速入门篇
关于Docker Swarm集群部署和验证高可用性的快速入门教程。
12 2
|
22天前
|
网络协议 Unix Shell
Docker基本教程
这篇文章是关于Docker的入门教程,介绍了Docker的基本命令和操作,包括镜像搜索、拉取、列出、删除,容器的运行、进入、退出、查看状态、停止、重启和删除,以及权限问题的解决方法。
60 2
|
27天前
|
Ubuntu Shell 应用服务中间件
在Ubuntu 14.04上安装和使用Docker Compose的方法
在Ubuntu 14.04上安装和使用Docker Compose的方法
30 1
|
14天前
|
Ubuntu Shell Linux
docker快速入门教程
docker快速入门教程
53 0
|
17天前
|
Kubernetes Linux Docker
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
|
19天前
|
开发工具 git Docker
深入挖掘Docker Compose
【8月更文挑战第24天】
22 0