ピックアップ
「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」のエラーになった件
Dockerの立ち上げに関しては、
- Dockerfileというファイルを作成する
- ビルドしてDockerイメージを作成する
- Dockerイメージからコンテナを作成する
- コンテナに接続してログインする
という手順を行って、
上記をやってみたあとに、
- Dockerのイメージの確認
- Dockerのコンテナの確認
- Dockerのコンテナの停止と削除
などを行っていました。
この辺りは、
コマンドで実行したことがあるので、
その辺りは、
【簡易サンプル】Dockerの基本的な手順とコマンドサンプル
こちらを参考にしてください。
今回は、
dockerコンテナで、
いつものように立ち上げて処理していたが、
ユーザーをrootで動くようにしていたので、
ファイルアクセス権の問題で、
Permisisonの関連エラーが出ていた。
今回の件を、
自分の備忘録として、
忘れないうちにメモを残しておきます。
今回の内容の経緯
コンテナを立ち上げる際に、
FROM php:8.1-fpmのように、
ベースとして、
Ubuntuが動く環境でやっており、
デフォルトだと、
rootになってしまっていた。
ファイル権限周りで色々と調整していたが、
調整方法としては、
- コンテナ内でファイル権限操作により対応する
- 立ち上げるコンテナ自体の実行ユーザーを変更する
が考えられるが、
後者の
立ち上げるコンテナ自体の実行ユーザーを変更する
という対応にした。
対応メモ
対応方法としては、
Dockerfileの中に
RUN groupmod -g 33 www-data \
&& usermod -u 33 -g 33 www-data
USER www-dataを入れて対応するのみ。
33については、
www-data ユーザー/グループのデフォルトの UID/GID
なので、
それを使って設定してる。
この調整したら、
- Docker イメージの再ビルド
- Docker コンテナの再起動
の2つでオッケーのはず。
ちなみに、
ユーザー指定で、
コンテナ動かすとか、
入って対応するとかの時は、
docker run -u www-data myappのように
「-u」(user)
オプションを使うと良い。
おすすめ書籍
コメント一覧
コメントはまだありません。




コメントを残す