docker-compose常用命令及.yaml配置模板方式

 更新时间:2025年05月30日 09:40:00   作者:曹弘毅  
这篇文章主要介绍了docker-compose常用命令及.yaml配置模板方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker-compose常用命令

docker-compose -f mysql-docker-compose.yaml up -d
docker-compose -f mysql-docker-compose.yaml down

docker-compose的常用命令包括:

  • docker-compose up:启动并运行Compose文件中的服务。
  • docker-compose stop:停止Compose文件中的服务。
  • docker-compose restart:重启Compose文件中的服务。
  • docker-compose down:停止并删除Compose服务,同时删除网络、卷和镜像。
  • docker-compose ps:列出Compose服务中的容器。
  • docker-compose logs:查看Compose服务中的容器的日志。
  • docker-compose build:构建Compose服务中的镜像。
  • docker-compose pull:拉取Compose服务中的镜像。
  • docker-compose rm:删除Compose服务中的容器。
  • docker-compose start:启动Compose服务中已停止的容器。
  • docker-compose run:在Compose服务中运行一个命令。
  • docker-compose scale:改变Compose服务中容器的数量。
  • docker-compose pause:暂停Compose服务中的容器。
  • docker-compose kill:强制停止Compose服务中的容器。
  • docker-compose port:显示Compose服务中容器的端口映射。
  • docker-compose config:验证和显示Compose文件的配置。
  • docker-compose create:基于Compose文件创建容器。
  • docker-compose exec:在Compose服务的容器中执行命令。
  • docker-compose push:将Compose服务中的镜像推送到Docker Hub或注册服务器。
  • docker-compose unpause:恢复Compose服务中容器的运行。

这些命令可以帮助你管理Docker Compose应用程序,包括启动、停止、重启、构建、拉取、删除等操作。

docker-compose.yml配置模板通常包含以下内容

docker-compose.yml配置模板通常包含以下内容:

  • 服务定义:在模板中为每个服务定义一个条目,指定服务的名称、镜像、构建指令、环境变量、网络等配置。
  • 镜像:指定服务使用的Docker镜像。可以使用本地镜像或公共镜像,也可以使用Dockerfile构建自定义镜像。
  • 构建指令:如果使用自定义镜像,可以在模板中指定Dockerfile的位置和构建参数。
  • 环境变量:为服务配置环境变量,可以通过键值对的形式设置。
  • 端口映射:将容器的端口映射到主机端口,以使容器服务可访问。
  • 卷挂载:将主机目录或文件挂载到容器中,以便持久化存储数据或共享数据。
  • 网络:定义服务所在的网络,可以选择默认网络或自定义网络。
  • 命令:指定容器启动后运行的命令。
  • 容器链接:将一个服务的容器链接到另一个服务的容器,以便它们可以相互通信。
  • 其他选项:根据需要配置其他选项,如CPU和内存限制、日志驱动程序等。
version: "3"
services:
    sky-inspect-front:
        image: repository.dayu.work/brace/sky-inspect-frontend:jenkins-sky-inspect-frontend-pre-874842-1
        restart: always
        container_name: sky-inspect-front
        ports:
            - "30082:8080"
        env_file:
            - .env
        networks:
            - sky-net
        extra_hosts:
          - "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
    sky-inspect-back:
        image: repository.dayu.work/brace/sky-inspect-backend:jenkins-sky-inspect-backend-pre-804072-6
        restart: always
        container_name: sky-inspect-back
        volumes:
            - './files:/app/files:rw'
        env_file:
            - .env
        environment:
            - META_DB_SCHEMA=sky_inspect
        networks:
            - sky-net
        extra_hosts:
          - "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
    sky-inspect-mini:
        image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
        restart: always
        container_name: sky-inspect-mini
        volumes:
            - './files:/app/files:rw'
        env_file:
            - .env
        environment:
            - SIM_ROLE=MASTER
            - META_DB_SCHEMA=sky_inspect_mini
        networks:
            - sky-net
        logging:
            driver: "json-file"
            options:
                max-size: "1g"
        extra_hosts:
          - "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
    sky-inspect-mini-leader:
        image: repository.dayu.work/brace/sky-inspect-mini:jenkins-sky-inspect-mini-pre-870320-2
        restart: always
        volumes:
            - './files:/app/files:rw'
            - './files/log:/app/log:rw'
        env_file:
            - .env
        networks:
            - sky-net
        entrypoint:
            - java
            - -server
            - -Xms8g
            - -Xmx8g
            - -Xmn6g
            - -XX:SurvivorRatio=8
            - -Dfile.encoding=UTF-8
            - -Dproject.name=SIM
            - -jar
            - -Duser.timezone=GMT+08
            - start-1.0-SNAPSHOT.jar
        environment:
            - SIM_ROLE=LEADER
            - META_DB_SCHEMA=sky_inspect_mini
        logging:
            driver: "json-file"
            options:
                max-size: "1g"
        extra_hosts:
          - "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
          - "service.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.96"
          - "dt.cn-kunming-fdtest-d01.odps.res.cloud-test.fudian-bank.com:196.36.88.104"
    sky-data-source:
        image: repository.dayu.work/brace/data-source-backend:jenkins-data-source-backend-daily-862940-6
        restart: always
        container_name: sky-data-source
        volumes:
            - './files:/app/files:rw'
        env_file:
            - .env
        environment:
            - META_DB_SCHEMA=sky_data_source
        networks:
            - sky-net
        extra_hosts:
          - "rds-migration03.mysql.rds.ops.topcloud.fdb.com:189.33.65.196"
    mysql:
        image: mysql:5.7
        container_name: mysql
        env_file:
            - .env
        ports:
            - "30036:3306"
        restart: always
        volumes:
            - ./mysql/config-file.cnf:/etc/mysql/conf.d/config-file.cnf
            - ./mysql/data:/var/lib/mysql
            - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
            - /etc/hosts:/etc/hosts
        healthcheck:
            test: mysqladmin ping -h127.0.0.1 -uroot --password=123xxxxxx
            interval: 1s
            timeout: 3s
            retries: 10
        networks:
            - sky-net
 
networks:
    sky-net:
        driver: bridge

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一篇文章学会Docker命令小结

    一篇文章学会Docker命令小结

    这篇文章主要介绍了一篇文章学会Docker命令小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Docker 容器互联互通的实现方法

    Docker 容器互联互通的实现方法

    这篇文章主要介绍了Docker 容器互联互通,本文讲解不同网络下的容器可以通过加入同一个docker网络,来访问该docker网络下的容器,并且既可以通过容器ip也可以通过容器名连接,非常方便,需要的朋友可以参考下
    2022-10-10
  • docker中配置hosts的方法实现

    docker中配置hosts的方法实现

    本文主要介绍了docker中配置hosts的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 详解Windows 利用 WSL2 安装 Docker 的2种方式

    详解Windows 利用 WSL2 安装 Docker 的2种方式

    这篇文章主要介绍了Windows 利用 WSL2 安装 Docker 的2种方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • Docker实践之搭建wordpress的方法

    Docker实践之搭建wordpress的方法

    这篇文章主要介绍了Docker实践之搭建wordpress的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Docker stop停止/remove删除所有容器

    Docker stop停止/remove删除所有容器

    这篇文章主要介绍了Docker stop停止/remove删除所有容器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 轻量级对象存储服务minio安装及浏览器使用教程

    轻量级对象存储服务minio安装及浏览器使用教程

    本次介绍了minio的安装及浏览器中的简单使用,对轻量级对象存储服务minio安装及使用教程感兴趣的朋友一起看看吧
    2021-10-10
  • Docker Compose实现一键部署前后端分离项目的完整指南

    Docker Compose实现一键部署前后端分离项目的完整指南

    这篇文章主要为大家详细介绍了Docker Compose实现一键部署前后端分离项目的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-02-02
  • 利用drone ci自动化部署静态博客的完整步骤

    利用drone ci自动化部署静态博客的完整步骤

    drone是基于容器的构建服务,配置简单且免费,在 github上也有20Kstar,下面这篇文章主要给大家介绍了关于利用drone ci自动化部署静态博客的相关资料,需要的朋友可以参考下
    2022-05-05
  • docker批量删除临时镜像

    docker批量删除临时镜像

    在开发的时候,需要经常发布开发包,在使用docker build构建镜像的时候,同一个版本经常会使用相同tag,频繁打包一段时间后,本地会出现很多Tag=<none>的临时镜像,下面给大家分享相关命令docker批量删除Tag=<none>的临时镜像,感兴趣的朋友一起看看吧
    2024-07-07

最新评论