guacamoleのdocker作る


楽しいGW

RaspberryPiとLeap Motionで楽しいGWを過ごそうと思っていたけど、
arm対応してないし、どうにもできなさそうなので、
Guacamoleで楽しく過ごした感じを演出する。

やる事

VM上のCoreOSにGuacaoleのサーバを立てて遊ぶ。

作業

CoreOSのインストールに関してはこちらの記事が超参考になるので、
割愛。

docker-composeを入れる。

sudo -i
mkdir -p /opt/bin
curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /opt/bin/docker-compose
chmod +x /opt/bin/docker-compose
docker-compose -v

docker-composeのコマンド叩いてもコンソールに何も表示されない事を確認し、
docker-composeを使わない事を決意する。

次に、必要なimageをpull

docker pull glyptodon/guacd
docker pull mysql:latest
docker pull glyptodon/guacamole

mysql初期化用スクリプト作る

docker run --rm glyptodon/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
mv ./initdb.sql /tmp/

いよいよguacamole起動

docker run -d --name guacd \
  -p 4822:4822 \
  glyptodon/guacd
docker run -d --name mysqld \
  -e MYSQL_DATABASE=guacamole_db \
  -e MYSQL_USER=guacamole_user \
  -e MYSQL_PASSWORD=guacamole  \
  -e MYSQL_ROOT_PASSWORD=guacamole \
  -v /tmp/initdb.sql:/docker-entrypoint-initdb.d/initdb.sql \
  mysql
docker run -d --name guacamole \
  --link guacd:guacd \
  --link mysqld:mysql         \
  -e MYSQL_DATABASE=guacamole_db  \
  -e MYSQL_USER=guacamole_user    \
  -e MYSQL_PASSWORD=guacamole \
  -p 8080:8080 \
  glyptodon/guacamole

結果はこんな感じ。

docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS              PORTS                    NAMES
964e5d6ce423        glyptodon/guacamole   "/opt/guacamole/bin/s"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp   guacamole
83664f8d0133        mysql                 "docker-entrypoint.sh"   About a minute ago   Up About a minute   3306/tcp                 mysqld
9e7f267d8bb2        glyptodon/guacd       "/usr/local/sbin/guac"   About a minute ago   Up About a minute   0.0.0.0:4822->4822/tcp   guacd

ローカルからアクセスしてみる。
http://host:8080/guacamole/

デフォルトはguacadmin/guacadmin。

クライアントは次回書く