首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么没有反映dockerCompose.yml的编辑内容?

问为什么没有反映dockerCompose.yml的编辑内容?
EN

Stack Overflow用户
提问于 2020-02-29 06:48:39
回答 1查看 267关注 0票数 1

我想通过使用码头来使用MySQL。

我编写了下面的DockerFile和dockerCompose.yml。

Dockerfile

代码语言:javascript
复制
FROM mysql:8.0
RUN mkdir /var/log/mysql
RUN touch /var/log/mysql/mysqld.log

docker-compose.yml

代码语言:javascript
复制
version: '3'
services:
  dbserver:
    build: ./docker/mysql
    image: test-db:0.0.1
    restart: always
    environment:
      MYSQL_DATABASE: prototype
      MYSQL_USER: user
      MYSQL_PASSWORD: password
      MYSQL_ROOT_PASSWORD: rootpassword
    ports:
      - "3306:3306"
    volumes:
      - ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
      - ./docker/mysql/conf.d:/etc/mysql/conf.d
      - ./log/mysql:/var/log/mysql
      - ./docker/mysql/data:/var/lib/mysql
volumes:
  mysql-bd:
    driver: local

我成功地构建并能够确认数据库。

然后我想要更改数据库名,所以我编辑了下面的yml文件的一部分。

在此之前

代码语言:javascript
复制
      MYSQL_DATABASE: prototype

之后

代码语言:javascript
复制
      MYSQL_DATABASE: test_db

然后,我确认了数据库,但它的名称没有更改。

我删除了MySQL容器,然后再试一次,但是结果没有改变。

为什么没有反映dockerCompose.yml的编辑内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-29 06:58:19

您正在为数据库使用主机卷,这意味着数据库将在容器重新启动之间持久化。

代码语言:javascript
复制
...
volumes:
  ./docker/mysql/data:/var/lib/mysql
...

删除本地目录./docker/mysql/data并重新启动服务。数据库的更改将得到反映。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60462689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档