Docker-compose 详解

docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用一个 docker-compose.yml 文件来配置应用程序的服务、网络和数据卷,并通过简单的命令来管理这些服务。以下是 docker-compose 的一些核心概念和常用命令:

docker-compose.yml 文件

docker-compose.yml 是一个 YAML 格式的配置文件,用于定义应用程序的服务、网络和数据卷。下面是一个示例:

```
version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
```
  • version: 指定 Compose 文件的版本。

  • services: 定义一个或多个服务,每个服务都运行一个容器。

    • webdb: 服务名称。

    • image: 使用的 Docker 镜像。

    • ports: 端口映射。

    • environment: 环境变量。

    • volumes: 数据卷挂载。

  • volumes: 定义的数据卷,用于持久化存储。

常用命令

  • 启动服务

    docker-compose up
    
    • 使用 -d 选项以后台模式运行

      docker-compose up -d
      
  • 停止服务

    docker-compose down
    
    • 使用 -v 选项删除挂载的卷

      docker-compose down -v
      
  • 查看服务日志

    docker-compose logs
    
    • 查看特定服务的日志

      docker-compose logs <service-name>
      
  • 重新构建服务

    docker-compose build
    
  • 列出服务

    docker-compose ps
    
  • 查看服务配置

    docker-compose config
    
  • 执行容器内的命令

    docker-compose exec <service-name> <command>
    
    • 例如进入 web 服务的容器

      docker-compose exec web /bin/bash
      
  • 创建服务的容器但不启动

    docker-compose up --no-start
    
posted @   地瓜地瓜,我是土豆  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示