docker-compose中的环境变量

本文介绍了在docker-compose中使用环境变量来动态配置MySQL服务的数据存储路径。通过设置环境变量MYSQL_DATA_DIR,并将其映射到容器内的/var/lib/mysql目录,确保数据持久化。在尝试将环境变量写入.env文件并引用时遇到问题,发现docker-compose.yml中的环境变量引用需要基于.env文件或当前shell的export。最终解决方案是将MYSQL_DATA_DIR定义在.env文件中,从而成功启动并运行MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用docker-compose部署一个MySQL server. mysq serverl的数据库文件存放在/var/lib/mysql目录下,为了重启mysql server不至于丢失创建的数据库数据,我们需要mount一个目录到mysql server容器的/var/lib/mysql。用docker-compose创建一个mysql instance大概如下:

version: '2'

services:

  mysql:
    image:mysql
    volumes:
      - ${MYSQL_DATA_DIR}:/var/lib/mysql


MYSQL_DATA_DIR是我用到的环境变量,希望配置到一个文件中,不同的MySQL instance用不同的目录,所以用到了环境变量。

粗粗的浏览了一下docker-compose参考文档,好像变量可以定义到一个文件中,如定义到mysql,.env中,这样mysql服务的定义就改为了:

version: '2'

services:

  mysql:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值