首页 > 其他分享 >docker-compose教程

docker-compose教程

时间:2024-08-16 09:49:41浏览次数:13  
标签:容器 教程 compose heat mysql docker Docker

1.docker compose介绍:

Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。 以下是Docker Compose的常用命令及其简要说明:

2.常用命令

 

  • docker-compose up

    • 启动并运行所有服务。
    • -d 选项可以在后台运行。
    • docker-compose up -d
  • docker-compose down

    • 停止并删除所有服务、网络和卷。
    • docker-compose down --volumes 可以同时删除挂载的卷。
  • docker-compose build

    • 构建或重建服务的 Docker 镜像。
    • docker-compose build --no-cache 可以在构建时跳过缓存。
  • docker-compose start

    • 启动已经存在的服务(不会创建新的容器)。
    • docker-compose start
  • docker-compose stop

    • 停止正在运行的服务容器,但不会删除它们。
    • docker-compose stop
  • docker-compose restart

    • 重启服务容器。
    • docker-compose restart
  • docker-compose logs

    • 查看服务的日志输出。
    • docker-compose logs -f 可以实时跟踪日志。
    • docker-compose logs <service_name> 查看特定服务的日志。
  • docker-compose ps

    • 列出运行中的容器及其状态。
    • docker-compose ps
  • docker-compose exec

    • 在运行的容器内执行命令。
    • docker-compose exec <service_name> <command>
    • 例如,docker-compose exec mysql bash 进入 MySQL 容器的 bash shell。
  • docker-compose run

    • 在新容器中运行一次性命令(不会启动所有服务)。
    • docker-compose run <service_name> <command>
  • docker-compose pull

    • 从镜像仓库中拉取服务的镜像。
    • docker-compose pull
  • docker-compose push

    • 推送服务的镜像到镜像仓库。
    • docker-compose push
  • docker-compose config

    • 验证和查看 Compose 配置文件的解析结果。
    • docker-compose config
  • docker-compose version

    • 查看 Docker Compose 的版本信息。
    • docker-compose version

 

3.docker-compose文件结构

services:
  mysql: # 地热 数据库
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      - 'MYSQL_ROOT_PASSWORD=123456'
      - 'MYSQL_DATABASE=heat_db'
      - 'TZ: Asia/Shanghai'
    ports:
      - 3306:3306
    volumes:
      - /root/ljcx/mysql/log:/var/log/mysql
      - /root/ljcx/mysql/data:/var/lib/mysql
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
    healthcheck:
      test: ["CMD-SHELL", "curl --silent localhost:3306 >/dev/null || exit 1"]
      interval: 10s
      timeout: 10s
      retries: 3
  heat-api: # 服务端
    image: heat-api
    container_name: heat-api
    restart: always
    privileged: true
    ports:
     - "8080:80"
     - "8900:8900"
    environment:
     - 'TZ=Asia/Shanghai'
     - 'MODE=standalone'
    volumes:
      - /root/ljcx/heat-api/appsettings.json:/app/appsettings.json
    depends_on:
      - mysql
  heat-webgl: # 客户端
    image: heat-webgl
    container_name: heat-webgl
    restart: always
    privileged: true
    ports:
     - "9030:80"
    environment:
     - 'TZ=Asia/Shanghai'
     - 'MODE=standalone'
    volumes:
     - /root/ljcx/heat-webgl/StreamingAssets/config.json:/opt/web/StreamingAssets/config.json

 

标签:容器,教程,compose,heat,mysql,docker,Docker
From: https://www.cnblogs.com/xu53105656/p/18362323

相关文章

  • js 字符操作 padStart padEnd 使用教程
    padStart和padEnd是JavaScript中字符串方法,用于在字符串的开头或结尾添加填充字符,直到达到指定的长度。padStart(targetLength,padString)targetLength:目标字符串长度。padString:用于填充的字符串。用法:conststr="hello";//在字符串开头添加空格,直到长度为......
  • 软件设计师教程(第5版)第1章 计算机系统知识(更新中)
    第1章计算机系统知识1.1计算机系统基础知识1.1.1计算机系统硬件基本组成计算机系统是由【硬件】和【软件】组成的。计算机的基本硬件系统由【运算器】、【控制器】、【存储器】、【输入设备】和【输出设备】5大部件组成。【CPU】是硬件系统的核心。【运算器】、【......
  • 博客建站6 - 一文搞懂域名解析(保姆级教程和原理讲解)
    1.本网站的系统架构2.(阿里云)域名解析配置2.1.快速配置2.2.自定义配置2.2.1.记录类型2.2.2.主机记录2.2.3.记录值2.2.4.解析请求来源3.域名解析原理3.1.什么是DNS3.2.DNS的解析原理3.2.1.1.本地查询3.2.2.2.客户机到服务器查询3.2.3.3.服务......
  • 全面掌握 Spring Cloud LoadBalancer:从自定义到策略优化的实战教程
    引言在微服务架构中,负载均衡是保障系统高效运行的关键技术之一。无论是服务端负载均衡还是客户端负载均衡,合理的负载均衡策略都能显著提升系统的稳定性和响应速度。本文将从基础概念入手,详细讲解如何在SpringCloud中实现和优化负载均衡,并结合实际案例,帮助读者快速上手并......
  • docker 配置daemon.json镜像源地址
    docker镜像拉取失败网络异常?errorpullingimageconfiguration:downloadfailedafterattempts=6:dialtcp108.160.172.208:443:connect:connectionrefused原因:docker镜像源访问失败,或网络严重延迟,或没有设置镜像源文件daemon.jsondocker配置国内镜像源前言1、docke......
  • Centos7 docker 卸载重装
     在CentOS上卸载然后重装Docker,可以按照以下步骤操作:卸载Docker:yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine移除Docker的依赖包和目录:rm-rf/va......
  • docker安装mongodb
     一、拉取镜像dockerpullmongo:4.2.21 二、运行容器dockerrun-d\--namemongo4\-eMONGO_INITDB_ROOT_USERNAME=admin\-eMONGO_INITDB_ROOT_PASSWORD=123456\-p27017:27017\mongo:4.2.21--auth 三、创建用户#进入容器dockerexec-it......
  • XMind 2024安装教程(Pro版)
    下载链接:https://docs.qq.com/doc/DSWZBQUtkeU1QS2N0软件介绍Xmind是一款全功能的思维导图和头脑风暴软件。像大脑的瑞士军刀一般,助你理清思路,捕捉创意。精良的设计,流畅的体验,强大的功能,多年精细打磨,为你提供极致的产品体验。全功能:提供9种专业的的思维导图结构,丰富的模......
  • EndNote21.4安装教程(最新版)
    下载链接:https://docs.qq.com/doc/DSVZXTVRvYXdEd21q软件介绍、EndNote文献管理软件是由科睿唯安公司开发的文献管理软件,可用于帮助研究人员管理和组织参考文献、引用和注释,从文献检索、组织科研活动、撰写论文,到发表文章和共享科研成果,助力机构用户加速科研流程。EndNote......
  • 【2024最新版版】PyCharm安装教程
    简介由于Python语法简单容易入门,并且Python在办公自动化等领域的功能非常强大,所以现在越来越多非IT行业的人也开始学起了Python,要学习和使用一门编程语言,一个好用的IDE是必不可少的,而对于Python来说,最好的IDE无疑是Pycharm。本文就给大家介绍一下如何从零到一来安装Pycharm......