Tag: 数据库

docker swarm模式下的数据库迁移

我有一个由简单的Node应用程序和Mongo数据库组成的应用程序。 我想知道,我怎么能在docker swarm模式下运行数据库迁移? 在没有swarm模式的情况下,我通过先停止旧版本的应用程序,运行一次性迁移命令和新版本的应用程序,然后启动新版本的应用程序来运行迁移: # Setup is roughly the following $ docker network create appnet $ docker run -d –name db –net appnet db:1 $ docker run -d –name app –net appnet -p 80:80 app:1 # Update process $ docker stop app && docker rm app $ docker run –rm –net appnet app:2 npm run […]

postgres-docker-container中无法连接php到db

我有一个debian wheezy服务器与Apache2。 该数据库是一个docker容器 – 标准postgres:9.1与端口5432暴露localhost:5434,数据文件夹是在一个自己的容器通过-v选项连接。 数据容器 docker run –name db-data -v / data -e PGDATA = / data -it –entrypoint / bin / bash postgres:9.1 数据库容器 docker run -d –name db -e POSTGRES_USER = name -e POSTGRES_PASSWORD = pwd -e PGDATA = / data -p 5434:5432 –volumes-from db-data postgres:9.1 我使用一个简单的PHP脚本来testing连接: $db = pg_connect("host=localhost port=5434 dbname=name […]

docker托pipe的数据库以某种方式免于备份最佳实践?

据我所知,对于MS SQL,PostgreSQL, 甚至是MySQL数据库(所以,我假设,一般RDBMS引擎),你不能简单地备份他们托pipe的文件系统,但需要做一个SQL-对内部一致性有任何希望,因此能够实际恢复。 但是,然后这样的答案 ,实际上引用的官方文档似乎表明,可以打开数据库数据: docker run –volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata 这两个想法似乎彼此不一致。 有没有什么特别的Docker如何工作,使得没有必要使用SQL级别的备份? 如果不是的话,我的理解是什么? (当你不能用它来备份一个生产数据库时,为什么要用这个官方的例子呢?这是不对的…)

docker组合服务的集中configuration

想象一下,一个非平凡的泊坞窗撰写应用程序,在一个Web应用程序的前面nginx和一些链接的数据存储: web: build: my-django-app volumes: – .:/code ports: – "8000:8000" links: – redis – mysql – mongodb nginx: image: nginx links: – web redis: image: redis expose: – "6379" mysql: image: mysql volumes: – /var/lib/mysql environment: – MYSQL_ALLOW_EMPTY_PASSWORD=yes – MYSQL_DATABASE=myproject mongodb: image: mongo 数据库很容易configuration(现在),容器公开很好的环境variables来控制它们(请参阅mysql容器),但是nginx什么? 我们需要为这个模板创build一个虚拟主机文件,对吗? 我不想推出我自己的形象,这将需要从不同的开发者的设置,每个更改的configuration重build,以testing ,通过舞台和生产 。 如果我们想以轻量级的方式通过翻转configuration选项来进行A / Btesting呢? 在这里需要一些集中的configurationpipe理 ,可能是由docker-compose控制的,可以将configuration文件写入共享卷? 随着新服务的添加,这只会变得更加重要(想象一下微服务云,而不是像在这个例子中那样是一个单一的web应用程序) 在docker-compose项目中pipe理configuration的正确方法是什么?

Cassandra容器主机中的dynamic存储

我正在研究cassandra容器,并试图findcassandra的数据可以存储在主机本身的方法。 有没有任何链接或教程?

Django与Docker错误 – “无法连接到'127.0.0.1'(111)上的MySQL服务器”)

我想用Django使用Docker,但是我得到错误 – db_1 | error: database is uninitialized and password option is not specified db_1 | You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (111)") db_1 | error: database is uninitialized and password option is not specified db_1 | You need to specify one […]

微服务和数据库

在微服务架构中部署数据库的最佳实践是什么,更准确地说是在分布式环境中,比如docker群? 微服务原则规定,每个服务应该是无状态的,以实现扩展。 由于数据库显然有一个状态,它应该在群集之外的固定位置上生存,在群集初始化之前进行部署和configuration? 我很困惑,因为所有的docker组合示例在服务定义中包含数据库容器。 但事情并不那么简单。 在准备使用之前,数据库通常需要大量的configuration。 另外,docker员在协调服务启动顺序方面很糟糕。 如果将数据库和服务一起部署在Docker群中是一个很好的做法,那么如何确保Cricial数据的一致性和持久性呢?