vanhuyz's notes

Posts

January 20, 2015

Docker経由Swagger UIを入れてみた

はじめに 目的:SwaggerUIを開発環境に入れて、Railsと組み合わせたい Railsのswagger-ui gemもありますが、あれはSwaggerUIが古い。最新版のSwaggerUIを使いたい。 手動で構築するのがちょっと面倒だから、Dockerを使って入れてみた 作業 Docker HubにSwagger UIを探してこういうイメージを見つけた https://registry.hub.docker.com/u/capoferro/swagger-ui/ capoferro / swagger-ui Simple docker container to serve the Swagger UI インストールする方法は以下となります イーメジをpullする $ docker pull capoferro/swagger-ui コンテナを起動する $ docker run -d -p 4567:80 capoferro/swagger-ui このコマンドはSwaggerUIコンテナの80ポートをホストマシンの4567ポートに紐付ける ブラウザにboot2dockerマシンのIP(普通192.168.59.103)のポート4567をアクセスするとSwaggerの画面が出てくる これでSwaggerUIのインストールが成功した。 最後にRailsのアプリを紐付けること: 動いているSwaggerコンテナのIDを確認する ( $ docker ps) 今回コンテナIDは859502ad6704がわかりました。 SwaggerUIコンテナに入る $ docker exec -i -t 8595 /bin/bash (8595はコンテナIDの先頭4文字です。コンテナIDを指定するとき先頭3,4文字でも動くはず) index.htmlの中にurlのところにデフォルトURLをRailsのswagger_docパスに変更する: viでもいいですが、キーボードがおかしかったのでsedを使いました $ sed -i "s@http://petstore.swagger.wordnik.com/api/api-docs@http://192.168.59.103:3000/api/swagger_doc@g" index.html 終わり! まわりの話 SwaggerUIイメージのソースコード: https://github.com/capoferro/swagger-ui-docker Dockerfileをみてわかるように、このイメージはUbuntuベース、nginx上にSwaggerUI動くという形です。SwaggerUIは公式のgithubをプルするので最新版になっているだろう。
January 19, 2015

Docker + Figを使ってRailsの開発環境を構築する

前回はDockerで構築したアプリを使うのを述べました。今回は実際どうやってそのRailsアプリを構築するのかを紹介します。 構築したい環境 Ruby 2.2 Rails 4.2.0 MySQL Redis シナリオ 以上の条件でコンテナを3つ準備します。 web : Railsアプリ。もちろんRubyが入ってるので今回はofficial ruby imageをベースにコンテナを作ります db : official MySQL imageを採用します redis: official Redis imageを採用します 気づいたのは使った3つのofficial imagesは全部Debian (Ubuntuと似ているLinux OS)です。違うOSでも問題ないでしょう。 webコンテナのDockerfile # Docker hubのruby imageをpullする。2.2.0を指定 FROM ruby:2.2.0 MAINTAINER vanhuyz # 必要なパッケージをインストール RUN apt-get update -qq && apt-get install -y build-essential libpq-dev # myappディレクトリーをwebコンテナに作成 RUN mkdir /myapp # RUN, CMDのworking directoryを指定 WORKDIR /myapp # hostマシンのGemfileをwebコンテナにコピーする ADD Gemfile /myapp/Gemfile # webコンテナにbundle installを実行 RUN bundle install # 生成されたファイルをwebコンテナにコピーする ADD .
January 16, 2015

魔法のDockerを使ってみよう

前回はDockerをインストールするまで記述しました。今回は実際Dockerで構築したRailsアプリを動かしましょう。 前提 Mac OS Xにboot2dockerが起動された状態、またはLinuxにDockerインストール済み 作業 まずFigというコンテナ管理ツールをインストールします $ curl -L https://github.com/docker/fig/releases/download/1.0.1/fig-`uname -s`-`uname -m` > /usr/local/bin/fig; chmod +x /usr/local/bin/fig 次に構築したRailsアプリをcloneします $ git clone git@github.com:vanhuyz/rails-docker-test.git $ cd rails-docker-test 最後にfig up するだけで $ fig up 完了! 構築したRailsアプリの確認 (Yosemite編) 僕のRails環境は以下のように構成されています Ruby 2.2 Rails 4.2.0 MySQL Redis では構築できた環境を確認しましょう! まずboot2docker仮想マシンのIPを確認します。 Vans-MacBook-Air:~ vanhuy$ boot2docker ip 192.168.59.103 webコンテナは3000ポートに紐付いているのでブラウザから192.168.59.103:3000にアクスセスしてみると やった!ちゃんとRailsの初期画面が出ています。 次にmysqlの確認: Vans-MacBook-Air:~ vanhuy$ mysql -h 192.168.59.103 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.
January 15, 2015

Dockerをインストールする(Yosemite編)

Docker導入する理由 開発環境を一気構築できる コンテナ型仮想化なので軽い Vagrant/Chefより学習コストが低い 小さいコンテナから構成されるので安定性が高まる Amazon EC2 Container Serviceが発表されたから本番構築でも可能に! Yosemiteにインストールしてみよう インストール方法は非常に簡単です。 Boot2dockerパッケージをダウンロードする ダウンロードしたパッケージをダブルクリックしてインストールする Boot2Dockerアプリを起動する どのターミナルにも使いたい場合は以下のコマンドを~/.bash_profileに追加する $(boot2docker shellinit) 終わり! 参考:公式サイト Boot2dockerを分解してみよう ではBoot2dockerは何が入っているのかを調べてみた。 VirtualBox:仮装化ソフトウェア Boot2Docker:小さいLinuxベースOS。DockerはLinuxベースで動作するから、Macに動作する場合は仮装マシンが必要。インストールできたらboot2docker-vmがVirtualBoxに入っているはず Boot2Docker Management Tool: Boot2Dockerの管理ツール。コマンドが充実。 $ boot2docker Usage: boot2docker [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>] $ boot2docker ssh # boot2docker仮装マシンにSSHする $ cat /proc/version Linux version 3.16.7-tinycore64 (root@064f0e1ce709) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Tue Dec 16 23:03:39 UTC 2014 Docker Client:dockerコマンドが使えるようになります。Dockerの使い方は本当に長くなりそうですから、以下は重要なコマンドをリストアップします $ docker # 全部コマンドが見られる $ docker version # dockerバージョンを見る $ docker search <string> # DockerHubにイメージを検索 $ docker pull <username>/<repository> # イメージをダウンロード $ docker run <username>/<repository> <command> ## コンテナの中にコマンドを実行する。例えば: $docker run learn/tutorial echo “hello” $ docker ps -l # 作ったコンテナのIDを調べる $ docker commit <ID> <username>/<new_repository> ## コンテナをイメージ化する $ docker inspect <ID> # コンテナの全部情報が見られる $ docker images # 現在のホストになんのイメージが入っているのか $ docker push <username>/<repository> # DockerHubにpushする 参考:Try Docker
December 19, 2014

AWS VPCの紹介

勉強会でAWS VPCについて発表してきました!
  • ««
  • «
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
  • »»
© vanhuyz's notes 2025