Tag: redis

Redis Sentinel手动故障切换命令超时

Redis Sentinel手动故障切换命令超时 我有一个Redis master,一个slave,一个Sentinel监视它们。 一切似乎都正常工作,包括主人死亡时的故障转移。 但是,当我发出SENTINEL FAILVER命令时,Sentinel陷入了状态+ failover-state-wait-promotion几分钟。 似乎奴隶没有获得晋升的命令。 这是没有道理的,因为从Sentinel主机到任一Redis主机的networking通信似乎没有任何问题。 我正在运行Docker容器中的所有3个过程,但是我不确定这会怎样导致这个问题。 我可以从Sentinel主机(即从Docker容器内部)运行redis-cli,并可以远程执行slaveof命令。 我也可以监控两个Redis实例,并查看SENTINEL ping和info请求。 我看着主人和奴隶的日志,没有看到任何exception。 看这篇文章,似乎没有任何理由为什么Sentinel会认为Redis实例是无效的。 我对Sentinel相当有经验,但对Docker来说却是新的。 不确定如何继续确定问题是什么。 有任何想法吗? 前哨日志 [8] 01 Jul 01:36:57.317#Sentinel runid是c337f6f0dfa1d41357338591cd0181c07cb026d0 [8] 01 Jul 01:38:13.135#+ monitor master redis-holt-overflow 10.19.8.2 6380 quorum 1 [8] 01 Jul 01:38:13.135#+ set master redis-holt-overflow 10.19.8.2 6380毫秒后3100 [7] 01 Jul 01:38:13.199 * + slave slave 10.19.8.3:6381 10.19.8.3 […]

docker中的Redis启动/重新启动多次?

我想通过使用docker-compose在docker容器中运行redis: 泊坞窗,compose.yml: redis: image: redis:3.0.4 命令: $ docker-compose up 输出: Starting test_redis_1… Attaching to test_redis_1 redis_1 | 1:C 06 Oct 15:16:13.265 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf redis_1 | _._ redis_1 | _.-“__ ''-._ redis_1 | _.-“ `. `_. ''-._ Redis […]

Redis Docker连接被拒绝

我刚刚build立了redis docker实例 $ docker pull redis 之后我就这样跑了 $ docker run –name=redis –detach=true –publish=6379:6379 redis 我得到以下 $ docker ps key redis "/sbin/entrypoint.sh" 22 minutes ago Up 22 minutes 0.0.0.0:6379->6379/tcp redis 对我来说上述意味着它现在正在本地主机上的端口6379或127.0.0.1或0.0.0.0上运行侦听。 但令我非常吃惊的是,当我尝试连接时,连接被拒绝。 请有人扔光。

如何使用docker构buildsidekiq和rails图像?

我正在尝试另一种方式来将一个rails应用程序构build到docker镜像中。 我的服务的结构: redis – 来自官方docker中心registry fluentd – 来自官方docker中心registry MySQL – 从官方docker中心registry sidekiq – build立自己(也许没有这个官方形象) 网站 – build立自己 我创build了两个Dockerfiles: Dockerfile.sidekiq Dockerfile.web Dockerfile.sidekiq FROM ruby:2.2.2 ENV APP_HOME /myapp RUN mkdir $APP_HOME WORKDIR $APP_HOME ADD Gemfile $APP_HOME/Gemfile ADD Gemfile.lock $APP_HOME/Gemfile.lock ADD config/sidekiq.yml $APP_HOME/config/sidekiq.yml ADD init_sidekiq.sh $APP_HOME/ RUN export LANG=C.UTF-8 && bundle install ADD . $APP_HOME CMD ["sh", "init_sidekiq.sh"] […]

如何追加/修改docker容器中的文件从docker运行… '

我想在Docker镜像中修改conf文件,但是我不想重新构builddocker镜像,而是想通过“docker run …. COMMAND”来执行此操作 。 我会把一个“echo XXX >> /etc/XXX.conf”放到COMMAND中。 这可能吗? 例如,我想启动一个redis sentinel集群,其中包括至less2个redis-server和1个redis-sentinel。 第二个redis服务器容器在redis.conf中需要状态“slaveof”。 我按照以下步骤做到这一点: 启动redis-server与端口6479 docker run -d -p 6479:6379 docker.io/redis 通过使用相同的docker图像启动从属redis服务器与6579,并说明它是一个奴隶在conf文件中: docker run -d -p 6579:6379 docker.io/redis "/bin/echo 'slaveof 192.168.1.149 6479' >> /etc/redis.conf && redis-server /etc/redis.conf" 这里“docker run”的命令是:“/ bin / echo'slaveof 192.168.1.149 6479'>> /etc/redis.conf && redis-server /etc/redis.conf” 开始哨兵,这是另一个docker的图像。 但是,我在第二步停了下来。 它返回如下错误消息: /entrypoint.sh:第10行:/ bin / echo'slaveof […]

docker不能从文件连接到redis

我正在使用docker运行docker-up。 在一个文件中,我试图访问使用以下命令创build的redis: import redis pool = redis.ConnectionPool(host='redis', port=6379, db=0) r = redis.Redis(connection_pool=pool) r.flushall() 这是我的docker-compose.yml redis部分: web: build: . ports: – "8000:8000" links: – db – redis environment: – DATABASE_URL=postgres://user:openhouse2016@db:5432/chat – REDIS_URL=redis://redis:6379/1 volumes: – .:/opt/app db: image: praiskup/postgresql:APIv1.0.1-fedora23 # volumes: # – ./db:/var/lib/pgsql/data environment: – POSTGRESQL_DATABASE=chat – POSTGRESQL_USER=user – POSTGRESQL_PASSWORD=openhouse2016 – POSTGRESQL_CONTAINER_OPTS=assert_external_data = false worker: build: […]

Django频道和泊坞窗 – 撰写错误

当通过docker和docker-compose运行runserver时,出现这个错误,我无法连接到django: django_1 | 2017-01-09 08:24:44,328 – INFO – worker – Listening on channels http.request, websocket.connect, websocket.disconnect, websocket.receive django_1 | 2017-01-09 08:24:44,329 – INFO – worker – Listening on channels http.request, websocket.connect, websocket.disconnect, websocket.receive django_1 | 2017-01-09 08:24:44,331 – INFO – worker – Listening on channels http.request, websocket.connect, websocket.disconnect, websocket.receive django_1 | 2017-01-09 08:24:44,331 – INFO […]

Docker for Windows中的“docker pull redis”失败

我已经安装了用于Windows Server 2016的Docker EE,并能够运行hello-world示例。 当我调用“docker pull redis”时,我得到: Using default tag: latest latest: Pulling from library/redis no matching manifest for windows/amd64 in the manifest list entries 我的docker版本: Client: Version: 17.10.0-ee-preview-2 API version: 1.32 Go version: go1.8.3 Git commit: 10e292d Built: Thu Sep 21 19:58:53 2017 OS/Arch: windows/amd64 Server: Version: 17.10.0-ee-preview-2 API version: 1.32 (minimum version 1.24) […]

docker-compose错误,当我运行包

当我运行一些像这样的任务时,我有一个关于我的gemfile或bundle的错误: docker exec -it webapp_web_1 bundle exec rake db:migrate 错误: 找不到Gemfile或.bundle /目录 或者这个命令: docker-compose logs worker log: Attaching to webapp_worker_1 worker_1 | Could not locate Gemfile or .bundle/ directory Dockerfile: # === 1 === FROM phusion/passenger-ruby22:0.9.18 MAINTAINER Israel Barba Aceves "israel@yotepresto.com" # Set correct environment variables. ENV HOME /root RUN apt-get update && apt-get install […]

如何在不同的Docker机器上设置docker的redis / sentinel复制/监控?

比方说,我有3个独立的机器: redis$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS redis-master * virtualbox Running tcp://192.168.99.101:2376 v1.10.1 redis-slave1 – virtualbox Running tcp://192.168.99.102:2376 v1.10.1 redis-slave2 – virtualbox Running tcp://192.168.99.103:2376 v1.10.1 我想使用docker-compose轻松地将主机或从机部署到这三台机器中的一台。 现在我的docker-compose.yml文件看起来像这样: redis: image: redis:3.0 sentinel: image: redis:3.0 command: "redis-server –sentinel" 我应该如何修改我的docker-compose.yml文件来使其工作? 最后,我希望能够像这样启动容器,例如: $ NODE_ROLE=master docker-compose up # on master machine $ NODE_ROLE=slave MASTER_ADDRESS=192.168.99.101:2376 docker-compose […]