【问题标题】:Why do I lose data if docker restarts?如果 docker 重新启动,为什么我会丢失数据?
【发布时间】:2019-10-24 13:38:18
【问题描述】:

我是 docker 新手,需要一些建议。我即将用 Gitea 建立我自己的个人 git 存储库。 docker compose 文件如下所示。当我第一次运行该文件时,一切都很好。当我重新启动计算机或 Docker 时出现问题,然后页面加载但它是空的,没有 repos,什么都没有。此外,无法使用首次安装后设置的凭据登录。重新启动后,与数据库的连接似乎丢失了。

docker 撰写文件:

version: "2"

networks:
  gitea:
    external: false

volumes:
  gitea:
    driver: local

services:
  server:
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gitea
      - DB_USER=gitea
      - DB_PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      #- ./gitea:/data
       - gitea:/data
    ports:
       - "3000:3000"
       - "222:22"
    depends_on:
      - db

  db:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

【问题讨论】:

    标签: docker


    【解决方案1】:

    您应该声明一个本地文件夹as a volume 以获取持久数据。如here for instance

    docker run -v /host/directory:/container/directory -other -options image_name command_to_run
    

    否则,当容器被移除时,任何写入现有图像层之上的数据都会被默认丢弃。
    这是使用联合文件系统:(参见“Digging into Docker layers”)

    gitea (docker) 的情况下,请确保您有一个本地数据和 mysql 文件夹,以供 Docker 映像挂载。

    volumes:
     - ./data:/data
    volumes:
     - ./mysql:/var/lib/mysql
    

    你用过

    volumes:
          #- ./gitea:/data
           - gitea:/data
    

    这将声明一个名为“gitea”的卷(而不是 bind mount),存储到您的 Docker 安装中。

    你可以对 db 部分尝试同样的方法:

    volumes:
     - mysql:/var/lib/mysql
    

    【讨论】:

    • 现在,当计算机启动时,我必须重新启动 docker,然后还需要重新启动 docker-compose 才能启动并运行它。如果我只尝试重新启动 docker-compose,它将无法重新启动其中一个容器。并且在不运行 docker-compose restart 的情况下访问该站点就像是第一次安装一样。只有当我重新启动所有内容时,所有内容都会回来。知道为什么吗?
    • @jerry_K7 我认为如果 docker 没有重新启动(即:docker 守护进程),docker-compose 将无法工作:Docker Compose (docs.docker.com/compose/overview) 将运行多个 Docker 容器,但它需要一个Docker 运行时环境。更多关于 medium.com/faun/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多