Error response from daemon: dial unix docker.raw.sock: connect: connection refused
スキャナの自作のためDVWAをDockerで立ち上げようとしたところ、「docker ps」「docker info」を叩いても上記のエラーが出るにも関わらず、
Dockerのプロセス自体は立ち上がるし、「docker version」はきちんと返ってくるという状態でした。
このエラーに関してはいろいろと解決策が見つかりますがどうも解決しませんでした。私の利用してるMac環境の最上部のバーのDockerのクジラアイコンを押して出てくるメニューもRunningとなっていると諦めかけたとき、IDとパスワードが要求されていることに気がつきました。そうログインしていませんでした。
結論:Dockerにログインすると解消する
エラーの原因の多くは当たり前の裏にあります。人間無意識成分8割以上の仕様なので、こういったミスをなくすのは簡単ではないですが
DVWAをDockerで立ち上げる
今回、Dockerを立ち上げた目的はDVWAをDockerで立ち上げることでした。
Damn Vulnerable Web AppことDVWAはPHP/MySQLベースの脆弱性が意図的に実装された有名なやられサイトです。
そんなDVWAがdockerhubに出ていることを見つけたため、利用しようとしてみたところ冒頭のエラーでつまづいたわけです。
公式の記事はこちら(https://hub.docker.com/r/vulnerables/web-dvwa)です。
それでは早速pullコマンドを実行してセットアップしていきます。
$ docker pull infoslack/dvwa
$ docker images
きちんと作成されていることが確認できます。
REPOSITORY TAG IMAGE ID CREATED SIZE infoslack/dvwa latest 779975a3607d 3 years ago 465MB
$ docker run -d -p 80:80 -p 3306:3306 -e MYSQL_PASS=”mypass” infoslack/dvwa
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0720028e98ab infoslack/dvwa "/run.sh" 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:3306->3306/tcp eager_einstein
以下にアクセスし「Create/Reset Database」
http://localhost/setup.php
http://192.168.11.3/setup.php
処理が完了するとログイン画面が表示されるので「admin/password」でログインします。
Dockerお役立ちTips
Dockerを利用する際、ど忘れしがちな何より投稿者自身に役立つTipsです。皆さんにもお役に立てれば幸いです。
コンテナに設定されているIPアドレスを調べる
方法1 inspectコマンドを利用する
$ docker psでコンテナIDを確認します。
inspectコマンドを利用すると返ってくるのだが返る情報が多すぎるのでgrepをパイプすることを勧めます。
$docker inspect <コンテナID> |grep IPAdd
方法2 bashで入って確認する
$ docker psでコンテナIDを確認します
bashで入ります。
docker exec -it <コンテナID> /bin/bash
以下のコマンドでIPを取得できます。
#hostname -i
コンテナ内のファイルをホストPCに取り出す
逆つまりホストPCからDockerコンテナ内にファイルを突っ込むこともできます。
docker cp <コンテナID>:コンテナ内のファイルパス ホストのディレクトリパス
Dockerコンテナのログを確認する
以下のコマンドで確認できます。
#docker logs -t <コンテナID>
Dockerコンテナの再起動
docker restart <コンテナID>
Dockerコンテナへの接続
以下の操作もセットで覚えておきましょう。
プロセス終了→ Ctrl + p
コンテナ終了→ Ctrl + c
docker attach <コンテナID>
以上です。参考になりましたら幸いです。