- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望通过解释此 docker-compose.yml 来定位主机存储中的数据:
version: '3'
services:
db:
image: mariadb
container_name: nextcloud-mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: unless-stopped
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD={password}
- MYSQL_DATABASE={database}
- MYSQL_USER={user}
- MYSQL_PASSWORD={password}
env_file:
- db.env
networks:
- nextcloud-proxy-tier
app:
image: nextcloud:fpm-alpine
container_name: nextcloud-app
restart: unless-stopped
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
env_file:
- db.env
depends_on:
- db
networks:
- nextcloud-proxy-tier
web:
build: ./web
container_name: nextcloud-web
restart: unless-stopped
volumes:
- nextcloud:/var/www/html:ro
environment:
- VIRTUAL_HOST={fqdn.url}
depends_on:
- app
networks:
- nextcloud-proxy-tier
- default
proxy:
build: ./proxy
container_name: nextcloud-proxy
restart: unless-stopped
ports:
- 8880:80
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- nextcloud-proxy-tier
depends_on:
- omgwtfssl
omgwtfssl:
image: paulczar/omgwtfssl
container_name: nextcloud-ssl-cert-gen
restart: "no"
volumes:
- certs:/certs
environment:
- SSL_SUBJECT=servhostname.local
- CA_SUBJECT={me@ema.il}
- SSL_KEY=/certs/servhostname.local.key
- SSL_CSR=/certs/servhostname.local.csr
- SSL_CERT=/certs/servhostname.local.crt
networks:
- nextcloud-proxy-tier
volumes:
db:
nextcloud:
certs:
vhost.d:
html:
networks:
nextcloud-proxy-tier:
当前目标:
1) 学习如何理解 db:/var/lib/mysql
语法
2) 了解此结构是否更适合一种特定的备份解决方案或另一种。
我的总体目标是设置自动备份,但我已经离开该项目太久了,以至于我很难记住我的计划是什么(为什么事情是这样构建的),并且无法找到我正在遵循的教程(这是我的第一个 Docker 项目)。
我的笔记清楚地说明了我预期的备份策略:docker commit -p {container_id} {target_name}
,然后docker save {repo_img_name} > {target_name.tar}
,然后
使用 Duply & Duplicity 存储异地副本。 (注:Duply 已完成 99% 设置,可以进行测试)不幸的是,根据今天的谷歌搜索,MariaDB 中的数据不会包含在 commit
创建的镜像中。
我的内存是,MariaDB 使用卷来使数据更易于访问和备份。我今天找到的大多数建议都是建议使用一个额外的容器来进行 MySQL 备份,但我很确定我所遵循的教程中规定的解决方案比这更简单/直接。我觉得我一整天都在绕圈子。
最佳答案
在典型的 Docker 设置中,唯一需要备份的重要内容是卷的内容。容器本身应该被删除并从各自的镜像中重新创建。您不需要在这里使用docker commit
(或者几乎永远不需要)。
Docker 文档有 a section on backing up named volumes 。这里的基本方法是您需要运行另一个安装这些卷的容器来访问数据。 Docker Compose 通常通过添加“项目名称”(默认为当前目录名称)作为前缀来命名事物,因此您可以运行类似的内容
docker run \
-v project_db:/mnt/db \
-v project_nextcloud:/mnt/nextcloud \
...
-v $PWD:/backup \
-w /mnt \
busybox \
tar cf /backup/volumes.tar db nextcloud ...
如果您愿意打破 Docker 的抽象并且不使用非默认卷存储驱动程序,您也可以 docker volume inspect
每个卷及其输出将包括其实际所在的主机路径。命名卷往往有稳定的路径。从技术上讲,这是实现细节,原则上 Docker 可以在未来的版本中更改它。
这里懒惰的、可能有效的路径是将您的备份软件指向/var/lib/docker/volumes
。
无论您选择哪种备份策略,请务必练习恢复它。对于您展示的项目,只需在虚拟机中的同一系统上执行它可能是一条简单的路径。我怀疑您需要运行 docker-compose up --no-start
让它创建卷,然后将备份恢复到正确的路径(其他地方有元数据记录该卷存在)。
关于mysql - 如何通过解释 docker-compose.yml 中的卷来定位备份的主机存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57701156/
我已经成功创建了我的第一个 django 项目。 我的项目 foo 和 foobar 中有两个应用程序。 我在每个应用程序文件夹中创建了一个名为“fixtures”的文件夹。我没有在我的setting
我遵循了 cap + nginx + unicorn 上的文档,但在理解如何正确进行数据库部署时遇到了一些问题。 /config/database.yml 不应该在 git repo 中(最好) 在/
GitLab server can't start .原因很可能是 gitlab.yml 配置文件不正确。 用什么工具检查yml语法是否正确? 我试过 Notepad++ 和 SublimeText,
我们有一个站点范围的 config.yml 文件,它联系 api key 等... 我的另一个 YML 文件能否访问 config.yml 中的值? 配置文件: development: th
我正在尝试在我的第一个测试应用程序中设置用户和安全管理,但我已经有点迷失了,不知道什么是做什么的。 到目前为止我的设置:Symfony 2.5、SonataUserBundle(以及 FOSUserB
我需要在 application.yml 中使用 yaml anchor 引用和字符串连接对于 Spring Boot 应用程序。动机是重用现有配置而不是复制它们。例如,我们有以下 applicati
我需要将单个 YML 文件拆分为多个 YML 文件: 微服务.yml: #------------------------------------------------------------- #
在我的 Symfony2 config.yml 文件中,我想导入一些我希望收集在单独的 yml 文件中的配置。 我用过: imports: - { resource: parameters.yml }
我是新的 docker 用户。在不同的手册中,我通常发现 docker-compose.yml 文件用于描述 docker 作业,但在 docker 站点上为此目标使用了 docker-stack.y
我不明白这两种在 Symfony2 中设置全局常量的方法之间的区别。是否只能在 config.yml (+configuration.php) 中设置默认值和类型? 最佳答案 参数.yml 文件是所有
在 config.yml 中,我看到了 monolog、web_profiler 等根元素。那些服务可以在 service.yml 中配置吗?换句话说,我在 service.yml 中定义的服务是否可
我阅读了这个文档:https://serverless.com/framework/docs/providers/google/guide/services/ users/ serverless.
我正在从事 CI/CD 项目(使用 circleci 管道),目前,我坚持让我的“create_infrastructure”工作正常工作。下面是作业 # AWS infrastructure
编辑:原始标题“文本环境:”平台“sqlite”不支持函数“year”” 将 beberlei\DoctrineExtensions 合并到测试环境中会产生 Uncaught PHP Exceptio
abc.yml: d_lab: 192.168.1.1 d_location: /ephemeral ema: apple: 10.0.0.1 orange: 10.0.0.2
我的 springboot 应用程序有一些 yml 文件(每个文件用于各种配置文件 - dev、prod)来加载配置。我正在将配置移至数据库。 示例配置如下: admin: id: user05
我有一个大型剧本,它使用多个角色来设置新服务器。我想重新使用剧本,但为了退役阶段而不是调用 role_name/tasks/main.yml 并有很多 when: 语句,我想要告诉 Ansible 调
使用 bookdown 创作文档时,我知道有四个选项可以放置配置选项: _bookdown.yml _output.yml 第一个 .Rmd 的 yaml header 文档 传递给 bookdown
我们希望将我们的 azure pipeline build .ymls 模块化。对于完整的应用程序构建,将包括不同组件的构建 .yml 到主 .yml 中,将它们全部构建在一起。对于单独的组件,我们将
假设我的网站上有一个简单的传统联系表单,我希望它在发送电子邮件时在开发环境中使用主题“Test: (subject_field value)”,在生产环境中使用“(subject_field_valu
我是一名优秀的程序员,十分优秀!