2015-10-23 16 views
8

ドッカー作成の設定で公式の赤い画像https://hub.docker.com/_/redis/を実行します。docker-compose設定でredis-cliを呼び出す

myredis: 
    image: redis 

どのようにしてドッキング画像を作成してredis-cliを実行できますか?
私が試した:

docker-compose run myredis redis-cli 

しかし、これは文句を言わない接続: は127.0.0.1:6379でのRedisに接続できませんでした:接続には、画像の

ドキュメントを拒否し、私は実行する必要が言う:

docker run -it --link some-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"' 

これはどのようにしてに変換されますか。ドッカーの作成実行

答えて

17

これはthe default CMD [ "redis-server" ]を無効にします。redis-serverが実行されなかったコンテナにredis-cliを実行しようとしています。 in this docker/compose issue 2123を述べたように、ドッキングウィンドウ・コンから

docker exec -it myredis redis-cli 

As mentioned here、あなたもしてテストすることができ

rcli: 
    image: redis:latest 
    links: 
    - redis 
    command: > 
    sh -c 'redis-cli -h redis ' 

また、これは動作しますする必要があります

rcli: 
    image: redis:latest 
    links: 
    - redis 
    command: redis-cli -h redis 

OP ivobaが(in the comments)を確認すると、最後のフォームが機能します。その後

docker-compose run rcli 

ivobaも追加されます。

docker-compose run redis redis-cli -h redis作品もコンテナが実行されている場合。
この方法では、別のrcliコンテナを宣言する必要はありません。

+0

グレート!働く私は最後のアプローチを取ってそれを実行します:docker-compose run rcli – ivoba

+0

@ivoba優秀!より視認性の高い答えをあなたのコメントに追加しました。 – VonC

+0

docker-compose run redis redis-cli -h redisは、コンテナの実行中にも機能します。この方法では、別のrcliコンテナを宣言する必要はありません。 – ivoba

2

また、このコマンドを使用することができます。

docker-compose run myredis redis-cli -h myredis 
+0

これはすでに異なる名前の上記の答えで言われています – ivoba

関連する問題