2017-06-28 13 views
4

私は多少独特のシナリオを持っています。コンテナを取得して動作させるには、コマンドdocker-compose -f dev.yml up --buildを実行する傾向があります。ここで、dev.ymlは開発版docker-compose.ymlです。すべてのものが正常に動作していた今朝まで、突然、私はdocker-daemonへの接続に失敗してエラーが発生しました。Docker:http + dockerのdockerデーモンに接続できませんでした:// localunixsocket-it running?

この問題は、コマンドに--buildが含まれている場合にのみ発生します。 docker-compose -f dev.yml upしか実行しないと正常に動作しません。コマンドに--buildを含めて、sudoを使用して実行すると、もう一度正常に動作します。検証

もの:

  • コマンドを実行するユーザはdev.yml

    version: '2' 
    
    volumes: 
        postgres_data_dev: {} 
        postgres_backup_dev: {} 
    
    services: 
        postgres: 
        build: ./compose/postgres 
        volumes: 
         - postgres_data_dev:/var/lib/postgresql/data 
         - postgres_backup_dev:/backups 
        environment: 
         - POSTGRES_USER=rocky 
    
    
        django: 
        build: 
         context: . 
         dockerfile: ./compose/django/development/Dockerfile 
        depends_on: 
         - postgres 
        environment: 
         - POSTGRES_USER=rocky 
         - USE_DOCKER=yes 
        volumes: 
         - .:/app 
         - /tmp/ 
        links: 
         - postgres 
         - redis 
        expose: 
         - "8000" 
        env_file: 
         - ./dev.env 
    
    
        nginx: 
        build: 
         context: . 
         dockerfile: ./compose/nginx/development/Dockerfile 
        depends_on: 
         - django 
        ports: 
         - "0.0.0.0:80:80" 
        links: 
         - django 
        volumes_from: 
         - django 
    
    
        redis: 
        image: redis:latest 
        hostname: redis 
    
    
        celeryworker: 
        build: 
         context: . 
         dockerfile: ./compose/django/development/Dockerfile 
        env_file: ./dev.env 
        depends_on: 
         - django 
         - redis 
         - postgres 
        volumes_from: 
         - django 
        command: celery -A rocky.taskapp worker -l INFO 
        restart: on-failure 
    
    
        celerybeat: 
        build: 
         context: . 
         dockerfile: ./compose/django/development/Dockerfile 
        env_file: ./dev.env 
        depends_on: 
         - django 
         - redis 
         - postgres 
         - celeryworker 
        volumes_from: 
         - django 
        command: celery -A rocky.taskapp beat -l INFO 
    

    /var/run/docker.sock

詳細ため 権限を持つグループをドッカーするために添加されます更新: 私の同僚は同じ問題を抱えています。私はセロリビット、セロリのための設定に疑問を持っています。誰でも確認してもらえますか?ありがとう。

+0

ドッキングウィンドウのグループにユーザーを追加することを忘れ? 'docker'コマンドはうまく動作しますが、' docker-compose'は失敗します。 – marathon

答えて

1

これはほとんどの場合、アクセス許可の問題に似ています。ドッカーの作成はまったく間違ったエラーを引き起こしています。

は、例えば、docker代わりにdocker-composeと手で画像を構築してみてください docker build -f=./compose/django/development/Dockerfile . あなたは本当の問題が何であるかを知るでしょう。次のコマンドは、働いていた私にとっては

4

sudo chown $USER:$USER -R . 

チェック私はgithubの上で持っていたこの会話、Issue

0

$ sudo service docker startこれは、それが何らかの形で停止した場合には再びドッキングウィンドウデーモンの実行を開始し、ドンます」 tはあなたが解決策を見つけるすぎsudo usermod -aG docker $(whoami)

関連する問題