docker 修改 volumes 映射名称后启动失败?

原始 docker-compose.yml 配置:

version: '2'
services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.6
    volumes:
      - mariadb_data:/bitnami/mariadb
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_redmine
      - MARIADB_DATABASE=bitnami_redmine
    ports:
      - 3306:3306     
  redmine:
    image: docker.io/bitnami/redmine:5
    ports:
      - 4000:3000
    volumes:
      - redmine_data:/bitnami/redmine
    depends_on:
      - mariadb
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - REDMINE_DATABASE_HOST=mariadb
      - REDMINE_DATABASE_PORT_NUMBER=3306
      - REDMINE_DATABASE_USER=bn_redmine
      - REDMINE_DATABASE_NAME=bitnami_redmine
volumes:
  mariadb_data:
    driver: local
  redmine_data:
    driver: local

上面的配置可以正常运行容器。
把服务mariadb 下面的 volumes 配置改为 - ./mariadb_data:/bitnami/mariadb 后容器无法运行,报错提示 redmine 链接到不要数据库,错误下图:

使用 navicat 可以正常链接访问数据库。

尝试过删除 容器volumes

阅读 2.3k
2 个回答

你挂载方式是将宿主机的目录作为数据卷挂载到容器,宿主机里没有数据,当然连不上咯。你可以看看docker managed volume,把容器里的数据卷映射出来
https://blog.51cto.com/u_1516...

先不挂载 进容器把容器内的对应的目录的文件都copy从出来

docker cp containerId:/.../data ./

然后再删除容器 重新挂载即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
项目管理
子站问答
访问
宣传栏