Drupal@Docker

表題の通り。ここ数日セキュリティ界隈で盛り上がりそう(?)なDrupalを触ったことがないのでDockerで動かしてみる。

■ 環境

  • Drupal 8.5.0
  • Docker for Mac
  • Mac OSX El Capitan

■ Drupal@Docker

久しぶりのDockerなのでversionを確認しておく。

$ docker version
Client:
 Version:    17.12.0-ce
 API version:    1.35
 Go version:    go1.9.2
 Git commit:    c97c6d6
 Built:    Wed Dec 27 20:03:51 2017
 OS/Arch:    darwin/amd64

Server:
 Engine:
  Version:    17.12.0-ce
  API version:    1.35 (minimum version 1.12)
  Go version:    go1.9.2
  Git commit:    c97c6d6
  Built:    Wed Dec 27 20:12:29 2017
  OS/Arch:    linux/amd64
  Experimental:    true
$

コンテナイメージを取得する。

library/Drupal – Docker Hub
https://hub.docker.com/_/drupal/

$ docker pull drupal

コンテナを起動する。

$ docker run --name drupal -p 8080:80 -d drupal

ブラウザでアクセスする。

http://localhost:8080/

インストールしてみる。

とりあえず”標準“で良いであろう。

どのようなものかお試しのインストールなので、別途永続化したRDBのコンテナは用意していないので”SQLite“でインストールする。

しばし待つ。

必要事項を入力。

しばし待つ。

インストールが完了したようだ。

少し触ってみよう。そしてお祭りに備えよう。

以上。

Owasp ZAP@Docker

表題の件について。Dockerコンテナイメージがあるようなので使ってみたい。

■ 環境

  • Docker for Mac
  • Mac OSX El Capitan

■ Owasp ZAP

Docker – zaproxy/zaproxy Wiki
https://github.com/zaproxy/zaproxy/wiki/Docker

コンテナの取得。

$ docker pull owasp/zap2docker-stable

コンテナがかなり大きい。ちなみにサイズは下記であった。

$ docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
owasp/zap2docker-stable   latest              12c3b9347b07        5 months ago        1.33GB
$

WebSwing – zaproxy/zaproxy Wiki
https://github.com/zaproxy/zaproxy/wiki/WebSwing

上記を参考にコンテナを起動する。

$ docker run -u zap -p 8080:8080 -p 8090:8090 -i owasp/zap2docker-stable zap-webswing.sh

前述のURLに記載されている通り、ブラウザで下記にアクセスすると画面が表示された。

http://localhost:8080/?anonym=true&app=ZAP

これを使って脆弱性診断をしてみるとする。

ちなみに起動している間のコンテナイメージはさらに大きいようだ。

$ docker ps -a -s
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                       PORTS                                            NAMES               SIZE
5f4feb2057aa        owasp/zap2docker-stable   "zap-webswing.sh"   2 minutes ago       Up 2 minutes                 0.0.0.0:8080->8080/tcp, 0.0.0.0:8090->8090/tcp   cocky_bose          73.8MB (virtual 1.4GB)
  :
$

以上。

■ 関連

Dockerコンテナサイズ

Dockerコンテナサイズ

表題の件について。久しぶりにDockerを少し触っていて、使いたいコンテナを`pull`しているのだがサイズが大きいのか時間がかかる。そういえばコンテナのサイズってどこかに載ってたっけ?と思ったのでメモ。

■ 環境

  • Docker for Mac
  • Mac OSX El Capitan

■ docker images

単純に下記コマンドで表示される情報に含まれていた。

$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
bkimminich/juice-shop   latest              e0a3fe792015        13 days ago         316MB
httpd                   latest              e74fcb59d25b        6 weeks ago         177MB
zookeeper               3.4.10              19604ac4a163        5 months ago        143MB
zookeeper               latest              19604ac4a163        5 months ago        143MB
mysql                   latest              22be5748ecbe        6 months ago        406MB
php                     latest              9364fb774af9        6 months ago        369MB
elasticsearch           latest              bca6fa4a7062        7 months ago        353MB
$

また、実行中のコンテナもサイズを取得できるようであった。

$ docker ps -a -s
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS                    PORTS                    NAMES               SIZE
bd625fc65344        bkimminich/juice-shop   "npm start"         12 days ago         Exited (255) 9 days ago   0.0.0.0:3000->3000/tcp   juice               103kB (virtual 316MB)
$

上記はすでに停止させているコンテナであるが、サイズが取得できている。

以上。

httpd@Dockerの起動方法

表題の件について。過去2回ほど同じネタをあげているのだが、その時のメモを見て同じ方法で起動しようとしたが、起動できなかったのでメモしておく。

■ 環境

  • httpd 2.4.27
  • Docker for Mac
  • Mac OSX El Capitan

■ httpd

コンテナは下記で取得した。

$ docker pull httpd

以前のエントリの通り下記で起動しようとしたのだが、起動できずに落ちてしまう。

$ docker run -ti --rm --name httpd -p 10080:80 httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Tue Aug 22 10:14:51.095259 2017] [mpm_event:notice] [pid 1:tid 139888904910720] AH00489: Apache/2.4.27 (Unix) configured -- resuming normal operations
[Tue Aug 22 10:14:51.095353 2017] [core:notice] [pid 1:tid 139888904910720] AH00094: Command line: 'httpd -D FOREGROUND'
[Tue Aug 22 10:14:51.221791 2017] [mpm_event:notice] [pid 1:tid 139888904910720] AH00492: caught SIGWINCH, shutting down gracefully
$

さてどうしたものかと探してみると、過去のISSUEがあったので参考にしてみた。

とりあえず”-d“を付けて起動してみることにした。

$ docker run -dti --rm --name httpd -p 10080:80 httpd
be3eaf245ecb080b3d3ed30fe5b61f582c6d693b82bfd31d4051f24210a06e08
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS              PORTS                   NAMES
be3eaf245ecb        httpd               "httpd-foreground"   4 seconds ago       Up 2 seconds        0.0.0.0:10080->80/tcp   httpd
$

起動してくれた。ログも確認してみる。

$ docker logs httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Tue Aug 22 10:26:58.420633 2017] [mpm_event:notice] [pid 1:tid 139631637636992] AH00489: Apache/2.4.27 (Unix) configured -- resuming normal operations
[Tue Aug 22 10:26:58.420751 2017] [core:notice] [pid 1:tid 139631637636992] AH00094: Command line: 'httpd -D FOREGROUND'
$

さて、しばらく触っていない間にどんな変更があったのであろう。とりあえず検証環境として使いたいだけだったので詳細はまた別途調べてみることにする。

-d“の時に”–rm“も以前は使えなかったような気がするのだが、それも気になるし。

以上。

■ 関連

ApacheHttpd@Docker

httpd@Docker

ZooKeeper@Docker 3.4.10

表題がリリースされていた。

■ 環境

  • ZooKeeper 3.4.10
  • Docker 17.03.1-ce
  • Mac OSX El Capitan

■ ZooKeeper

library/zookeeper – Docker Hub
https://hub.docker.com/_/zookeeper/

コンテナイメージの取得。

$ docker pull zookeeper

起動。シングルノードであげる。またローカルMacから4文字コマンドを叩いてみるためにportも開ける。

$ docker run -ti --rm -p 2181:2181 zookeeper
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
2017-04-07 10:07:22,637 [myid:] - INFO  [main:QuorumPeerConfig@134] - Reading configuration from: /conf/zoo.cfg
  :

別のターミナルから4文字コマンドで確認。

$ echo srvr | nc localhost 2181
Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
$

アクセスできた。さて何が変わったのか見ていこう。

以上。

■ 関連

ZooKeeper 3.4.10

ZooKeeper@Docker – シングルノード

ZooKeeper 3.4.10 on Homebrew

ZooKeeper@Docker 3.4.11