フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

EC2でdocker-compose buildのエラーを解消する

はじめに

  • EC2で動作させているdocker imagesを更新するため、久しぶりにdocker-compose buildを実行したらエラーになった

エラーの内容

  • docker-compose buildを実行すると下記のエラーが発生する
$ docker-compose build 

ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

試したこと

  • いろいろなサイトを見ましたが現在利用しているユーザーにdockerグループを所属させる方法で皆さん解決していましたが解決できず。
sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker
exit
  • sudo で実行する解決できた方もいましたがsudoだとpathが通っていなかった。
$ sudo docker-compose up -d
sudo: docker-compose: command not found

開発方法

  • 下記のコマンドを実行するとテキストファイルが開かれる
$sudo visudo
  • 下記の指定を
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

下記に変更する

Defaults        env_keep +="PATH"

結果

  • 実行することができました。
$ sudo docker-compose build fastapi
Building fastapi
Step 1/7 : FROM python:3.9-alpine
 ---> 77a605933afb
Step 2/7 : RUN apk add --no-cache mariadb-dev  gcc libc-dev
 ---> Using cache
 ---> 21c773c51829
Step 3/7 : WORKDIR /srv/api/src
 ---> Using cache
 ---> 26d161cce244
Step 4/7 : ADD requirements.txt .
 ---> Using cache
 ---> 5e0bc6f9d465
Step 5/7 : RUN pip install --trusted-host pypi.python.org -r requirements.txt
 ---> Using cache
 ---> f253ce0a91e5
Step 6/7 : COPY ./app/main.py .
 ---> Using cache
 ---> 9f0ebf5b808b
Step 7/7 : CMD ["uvicorn", "main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
 ---> Using cache
 ---> c34ac76c0173
Successfully built c34ac76c0173
Successfully tagged dockerworkspace_fastapi:latest