docker-compose.yml文件示例

复制代码
version: '3'

services:
  mysql:
    ##(服务1)
    restart: always
    image: hub.c.163.com/library/mysql:5.7
    ports:
      - "127.0.0.1:3306:3306"  # 宿主机ip:port:容器内port
    environment:
      MYSQL_ROOT_PASSWORD: "kang870838"
    volumes:
      # 数据持久化方法1:自定义宿主机存储位置
      # 本地宿主机目录/文件:docker容器目录/文件
      #- mysqldb:/var/lib/mysql # 全局卷标名称:docker容器  这种方式是不知道存储在本地的绝对路径,需要使用docker volume ls 和docker volume inspect 容器卷标 查看。 docker volume rm 容器卷标  删除卷
      - ./docker/mysql/my.cnf:/etc/my.cnf #卷标:容器  这种方式是使用本地绝对路径的方式,可以查看到数据存放到本地的具体路径  
      - ./docker/mysqldb:/var/lib/mysql
      - ./docker/mysql/init:/docker-entrypoint-initdb.d/
        # 初始化sql必须放在容器的/docker-entrypoint-initdb.d/目录下才可以执行,并且如果上边的mysqldb已经存在的话也不会执行,
        # 必须先把宿主机上的./docker/mysqldb目录删除掉再执行

volumes:
  # 数据持久化方法2:定义全局卷标(可选)
  # 自定义卷标名称。卷标对应的存储目录是无法自定义的,它默认自动在docker安装目录下/var/lib/docker/volumes生成,是虚拟磁盘形式存在的
  # 查看卷标具体位置:docker volume inspect vagrant_mysql
  mysqldb: {}

docker-compose.yml详细配置
https://github.com/compose-spec/compose-spec/blob/master/spec.md#ports
复制代码

 

posted @   明天OoO你好  阅读(295)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示