【云原生 | Docker篇】深入Docker Compose(六)(上)

简介: 【云原生 | Docker篇】深入Docker Compose(六)(上)

深入Docker Compose


一、Compose 简介



Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。


Compose 使用的三个步骤:


使用 Dockerfile 定义应用程序的环境。


使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。


最后,执行 docker-compose up 命令来启动并运行整个应用程序。


二、yaml语法



如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。


docker-compose.yml 的配置案例如下(配置参数参考下文):


{
    "name":"bigdata",
    "url":" http://www.lansonli.com",
    "page":88,
    "address":{
        "street":"科兴科技园",
        "city":"深圳市南山区",
        "country":"中国"
    },
    "links":[
        {
            "name":"Google",
            "url":" http://www.google.com"
        },
        {
            "name":"Baidu",
            "url":" http://www.baidu.com"
        }
    ]
}


以上JSON转为Yaml为


# 这是 yaml 注释
# key: value 基本键值对写法 ; yaml 使用缩进控制层次。
name: bigdata
url: 'http://www.lansonli.com'
page: 88
address:
  street: 科兴科技园
  city: 深圳市南山区
  country: 中国
links:
- name: Google
    url: 'http://www.google.com'
  - name: Baidu
    url: 'http://www.baidu.com'


三、compose安装



安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限


sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

image.png

sudo chmod +x /usr/local/bin/docker-compose

查看安装是否成功

docker-compose -v

image.png


四、compose常见命令



ps:列出所有运行容器


docker-compose ps


logs:查看服务日志输出


docker-compose logs


port:打印绑定的公共端口,下面命令可以输出 eureka 服务 8761 端口所绑定的公共端口


docker-compose port eureka 8761


build:构建或者重新构建服务


docker-compose build


start:启动指定服务已存在的容器


docker-compose start eureka


stop:停止已运行的服务的容器


docker-compose stop eureka


rm:删除指定服务的容器


docker-compose rm eureka


up:构建、启动容器


docker-compose up


kill:通过发送 SIGKILL 信号来停止指定服务的容器


docker-compose kill eureka


pull:下载服务镜像


scale:设置指定服务运气容器的个数,以 service=num 形式指定


docker-compose scale user=3 movie=3


run:在一个服务上执行一个命令


docker-compose run web bash


目录
相关文章
|
2月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
113 2
|
2月前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
27天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
189 77
|
13天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
78 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
10天前
|
存储 Kubernetes Docker
Kubernetes(k8s)和Docker Compose本质区别
理解它们的区别和各自的优势,有助于选择合适的工具来满足特定的项目需求。
65 19
|
24天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
87 24
|
26天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
113 6
|
2月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
2月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理

热门文章

最新文章