はじめに
- 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