Logic Delight

明日のワシは忘れてしまうから、コードにはコメントを書くのです。

情報セキュリティのInputまとめ

この数年、情報セキュリティって何やった?を自分向けメモにまとめて振り返ってみる。

Dockerを使ったMongoDBの導入

前回に引き続きローカル開発環境で軽くMongoDBを導入して試したい、という場合にVagrant上でMongoDBをインストールしてゴニョゴニョってやってたけど、Dockerではデフォルトのインストールイメージが公開されているので導入がメチャ楽だ、というシリーズですウス。

MongoDB のDockerイメージ

MongoDB - Docker Hub https://hub.docker.com/_/mongo/

Dockerfileはこれ github.com

以下、公式ガイドのまんまですが解説。

MongoDB on Dockerコンテナーの起動

$ docker run --name my-mongo -d mongo

my-mongo という名称でバックグラウンドでDockerサーバが起動し、27017ポートでリッスン状態になる。

MongoDB shellで接続してみる

$ docker run -it --link my-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"'
MongoDB shell version: 3.2.0
connecting to: 172.17.0.2:27017/test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
(中略)
> show dbs
local  0.000GB
> use mydb
switched to db mydb
> db.createCollection('users');
{ "ok" : 1 }

ちゃんと使えていますね。終わるときは、Ctrl-Cで抜けます。

MongoDB on Dockerコンテナーの停止

$ docker stop my-mongo

以上!前回同様に便利だから、今後は意識した作業としての「ミドルウェアをインストールする」ということが少なくなっていくかもしれませんな。

Dockerを使ったRedisの導入

ローカル開発環境で軽くRedisを導入して試したい、という場合にVagrant上でRedisをインストールしてゴニョゴニョってやってたけど、Dockerではデフォルトのインストールイメージが公開されているので導入がメチャ楽だ、という話ですウス。

Redis のDockerイメージ

Redis - Docker Hub
https://hub.docker.com/_/redis/

Dockerfileはこれ github.com

以下、上記サイトのガイドのまんまですが解説。

Redis on Dockerコンテナーの起動

$ docker run --name my-redis -d redis

my-redis という名称でバックグラウンドでDockerサーバが起動し、6379ポートでリッスン状態になる。

redis-cli で接続してみる

$ docker run -it --link my-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'
172.17.0.2:6379[1]> set key1 11111
OK
172.17.0.2:6379[1]> get key1
"11111"

ちゃんと使えていますね。終わるときは、Ctrl-Cで抜けます。

Redis on Dockerコンテナーの停止

$ docker stop my-redis

以上!チョー簡単で便利な世の中になったもんですな。

よりコンパクトで軽量なコンテナー仮想化環境へシフト中

VagrantもDockerも軽くかじっていたのですが、DockerはLinux上でしか動作してくれなかったのでVagrantLinux上でDockerとかダルいなーと思ってVagrantをメインに使っていたワシですウス。

ですが、気がついたらDockerがMacWindows上でも動いてくれる環境が整っていたようなので、チマチマとVagrantで構築していた仮想環境をDockerコンテナーに移行中。。。

Vagrantボックスの掃除に使っているコマンド

カレントディレクトリ配下のVagrantfileから、ボックス名をgrepする

$ find . -name Vagrantfile | xargs grep "config.vm.box "

./centosMongoDB/Vagrantfile:  config.vm.box = "CentOS-6.4"
./ubuntuGrunt/Vagrantfile:  config.vm.box = "hashicorp/precise32"
./ubuntuRedis/Vagrantfile:  config.vm.box = "ubuntu/trusty64"

Vagrant ボックス名を一覧して、ボックスを削除する

$ vagrant box list

hashicorp/precise32 (virtualbox, 1.0.0)
precise32           (virtualbox, 0)
ubuntu/trusty64     (virtualbox, 20150609.0.10)

$ vagrant box remove [boxname]

これからは軽量なコンテナーで仮想化だ

素敵だDocker☆

Get Started with Docker (for Mac)
https://docs.docker.com/mac/

Mac環境の Java8 を update66 にバージョンアップ

以前導入した JDK8u20 から JDK8u66 にバージョンアップしたのでメモメモ。

現状のJavaバージョンの確認(キホン)

$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)

インストールされている全てのjavaの確認

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.8.0_20, x86_64:   "Java SE 8"  /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

新しいJDKをインストール

Java SE - Downloads | Oracle Technology Network | Oracle

からDownloadしたdmg→pkg→インストールOK

バージョンアップ確認

$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

インストールされている全てのjavaの確認(再)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.0_66, x86_64:   "Java SE 8"  /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home
    1.8.0_20, x86_64:   "Java SE 8"  /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home

1.8.0_20はもう不要になったのでアンインストールしたい。

旧バージョンJDKのアンインストール

$ sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk

参考にしたサイト

Mac(OS X)におけるJava8(jdk8)等のインストール、アップデート、アンインストール方法
http://javaworld.helpfulness.jp/post-50/

国内gitホスティングサービスの codebreak; おつ

国内gitホスティングサービスの codebreak; が2016年1月末でサービス終了だそうな。これで無料プライベートリポジトリはBitBucketだけだな、と思って諸々のリポジトリを引っ越そうかと思ったらBitBucket落ちてる。おぃ大丈夫か、その可用性は。。。

サービス終了のお知らせ - codebreak;
https://codebreak.com/ja/contents/closure/#inform_closure

BitBucket - (500 Internal Server Error)
https://bitbucket.org/

Eclipse Kepler + Java8 とか Lombok とか Spring Boot とか

ごった煮で検討中。熱が出る〜

読んだURLメモ