kakakakakku blog

Weekly Tech Blog: Keep Learning!

docker の検索結果:

Fluentd / Embulk / Elasticsearch / Digdag を学ぶのに最高な「データ分析基盤構築入門」を読んだ

…na も動いている.Docker Compose で起動をするだけなので,Go のアプリケーションをデバッグしながら学べるし,Go から fluent-logger-golang を使って直接ログを Fluentd に投げている部分も試せるし,いろいろと学べる点がある.デバッグ用途だとしても,比較的環境構築が面倒な Fluentd / Elasticsearch / Kibana をすぐに試せるので,最高すぎる.ちなみに GitHub で公開されている. github.com…

事前にデータ投入をした MySQL Docker イメージを作る場合は /docker-entrypoint-initdb.d を活用すると便利

…をした MySQL Docker イメージが必要になり,最初は「Dockerfile で頑張る感じかなぁ...」なんて考えながら調査をしていたら,公式の MySQL Docker イメージに「カスタムスクリプトを実行する機能」が用意されていることを知って,全て解決した.今までも MySQL を Docker で動かす場面はあったけど,今回の機能は知らなくて勉強になった. CI で使うためにマイグレーション実行済の MySQL Docker イメージを用意しても良いし,新メンバ…

Jenkins ジョブにタイムアウトを設定できる Build-timeout Plugin を試した

…ラグインだと思う. Docker で Jenkins をカジュアルに構築する Docker を使えば,面倒な手順もなくカジュアルに Jenkins を起動できるので本当に便利.以下のコマンドで起動すれば http://localhost:8080/ でアクセスすることができる. # Jenkins を起動する $ docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts # コンテナ ID を確認して initial…

fluent-logger-golang を使って Go で Fluentd にログを転送する

…作確認をする場合は,Docker で Fluentd を上げてしまうのが良いかと思う. github.com イメージを pull して,以下のように起動する. $ docker run -d -p 24224:24224 -p 24224:24224/udp -v ~/fluentd:/fluentd/log fluent/fluentd デフォルトで in_forward の設定が入っているので,アプリケーションを実行するだけで,動作確認をすることができる. <sourc…

Treasure 2017 の研修資料は Go を学ぶのに最高だった

Go

… 🌵 GitHub - kakakakakku/docker-hands-on: Docker study materials for beginners 🐳 GitHub - kakakakakku/mysql-beginner-hands-on: MySQL study materials for beginners 🎹 GitHub - kakakakakku/redash-hands-on: Redash study materials for beginners 📊

Redash のユーザー削除が難しい

…(master を Docker で起動したため最新すぎる可能性もある). Redash 画面 Redash 画面では,ユーザー追加とグループ管理ができる.ただし,公式ドキュメントにも記載が無いように,ユーザー削除の機能は提供されていなかった.admin 権限でログインした場合は,Redash 画面からユーザー削除ができるべきだと思う. redash.io Redash CLI 公式ドキュメントにも詳細な記載はないけど,Redash には Redash CLI と言うコマンド…

「JAWS-UG コンテナ支部 #9」で「ECS x Mackerel」をテーマに LT をした

…uild カスタム Docker イメージを使ってビルドする CodeBuild で buildspec.yml に書く version は 0.2 にする 管理コンソールの手順解説 AWS の Code 系は使ったことがなく,おおー!という感じだった.うまく自動化できれば良さそう. speakerdeck.com 関連記事 「JAWS-UG コンテナ支部」の参加は今回が3回目だった.引き続き参加したいと思う. kakakakakku.hatenablog.com kakak…

Mackerel で ECS の動的ポートマッピングに対応したタスクのメトリクスを取得する

…el-plugin-docker でコンテナインスタンスのメトリクスを取得できる mackerel-plugin-docker が Docker API からメトリクスを取得するため,動的ポートマッピングでタスクが増えた場合も,基本的なメトリクスは取得できる mackerel-plugin-gostats など,任意のプラグインを使って,動的ポートマッピングでタスクが増えた場合も,タスク特有のメトリクスを取得できる 少し工夫が必要になる(本記事のポイント) デメリット mac…

mackerel-agent タスクをコンテナインスタンスごとに起動して ECS のメトリクスを取得する

…el-plugin-docker が Docker API からメトリクスを取得するため,動的ポートマッピングでタスクが増えた場合も,基本的なメトリクスは取得できる デメリット 動的ポートマッピングで起動されたタスク特有のメトリクス(mackerel-plugin を使って取得するようなもの)を取得できない 構成図 まず,今回は以下のような構成で検証をした.実際に動かすタスクは Golang で書いたサンプル API で,API Service に乗せた. ECS : タスク…

docker login をせずに ECR を操作できる awslabs/amazon-ecr-credential-helper

…mazon ECR Docker Credential Helper を試した.Amazon ECR Docker Credential Helper を使うと ECR のログインを省略できる. kakakakakku.hatenablog.com github.com 前提 以下のバージョンを満たす必要がある. Docker 1.11 以上 Go 1.5 以上 今回は以下のバージョンで試した. Docker 17.05 Go 1.8.1 普通に ECR を使う場合 get-…

CircleCI + ecs-deploy で ECS にデプロイをする

…rvices: - docker dependencies: post: - docker build -t $AWS_ACCOUNT_ID.dkr.ecr.ap-northeast-1.amazonaws.com/test:$CIRCLE_SHA1 . deployment: prod: branch: master commands: - ./deploy.sh deploy.sh AWS CLI の細かな制御は ecs-deploy で考慮されているため,非常にシンプル…

「JAWS-UG コンテナ支部 入門編 #4」に参加して ECS の事例を聞いてきた

…npass.com Docker と Docker Hub の操作と概念 @zembutsu 技術(コンテナ)と仕様(Docker) dockerd → containerd → runC → Linux Kernel 通常の Linux では /sbin/init が PID 1 だけど,コンテナの中で httpd など,起動しているプロセスが PID 1 になる コンテナホストから見ると,その httpd は PID 6 になる(例えば) docker v1.13 からコ…

CircleCI で ECS にデプロイをするサンプルプロジェクト circleci/go-ecs-ecr を試した

…使って,ECS に Docker コンテナをデプロイする方法を調べていたら,CircleCI が公開しているサンプルプロジェクト circleci/go-ecs-ecr の存在を知ったので,さっそく試してみた. circleci/go-ecs-ecr を動かすと,Golang の API が動く Docker イメージを作成して,ECR にプッシュして,ECS にデプロイする,という流れを簡単に試すことができる.僕自身が ECS に入門したばかりなので,勉強のキッカケとしても…

2016年の振り返りと2017年の抱負

…g / AWS / Docker / 監視モニタリング」関連にフォーカスして参加していた. 「ごもく会 #2」で gin と blink(1) を組み合わせてライトを点灯させた - kakakakakku blog 「ごもく会 #3」で Togoo CLI を作った話をしてきた - kakakakakku blog Docker Meetup Tokyo #6 に参加してコンテナパターンの知見を得た - kakakakakku blog Microservices Casua…

Mackerel の監視ルールをバージョン管理して CircleCI でテストする

mkr monitors { pull / diff / push } コマンドを使うと Mackerel の監視ルールをバージョン管理することができる. 特に diff は素晴らしくて,ローカルにある監視ルール (.json) と Mackerel 管理画面の設定の差分を確認することができるから,運用してたら設定がズレてた!という問題(形骸化)が起きにくく考えられている. 最近 mkr monitors を使って管理ルールを GitHub でバージョン管理していて,さらに …

Amazon Elasticsearch Service で Kibana にアクセスポリシーを設定する方法ってある?

Amazon Elasticsearch Service に含まれてる Kibana に対して IP ベースのアクセスポリシーを設定したいと思って検証していたが,うまくできなかった.うまくできなかったけど,試したことを残しておこうと思う.もしかしたら僕の調査不足なだけかもしれないので,もし設定する方法があったら教えて頂きたいなと!!! 設定したかったこと 本番環境で Amazon Elasticsearch Service を運用することを考えたときに「開発端末から誤って更新…

社内勉強会で「ワクワクする!システム監視入門」という発表をした

…と判断できる.特に Docker や AutoScale を使ってると実際に管理してるサーバの台数を意識することも減ってくるし,まぁ確かに.ただ大規模な分散アーキテクチャは別として,一般的なアーキテクチャだとモニタリングは重要だし,今まで通りに傾向を追っていきましょうという話もした. 動画は凄く面白くて,特にコーポレートサイトの開発をデザイナーにお願いしたら,赤ベースのデザインが出てきて,CRITICAL な色はダメだ!緑だ!緑!という話は秀逸だったwww vimeo.com…

Infrastructure as Code を改めて考え直すキッカケになった(動画あり)

参加できなかった Recruit Technologies Open Lab #03 の動画が YouTube に上がっていたのでさっそく見てみた.発表者のラインナップが豪華だし,刺激的な話が聞けたし,オススメ!こうやって配信してもらえると,参加できなかった勉強会をキャッチアップできるし,繰り返し見ることもできるし,良いなと感じた.ライブ配信だからだと思うけど,ゾロゾロと参加者が集まって席が埋まっていくところまで録画されてて超シュールだったwww 数人知ってる人も映ってた! …

Serverspec の Host Inventory を使ってファイルシステムをテストする

Serverspec でファイルシステムのテスト(EC2 にアタッチした ELB に対して resize2fs が実行されているかを確認するテスト)を書こうと思っていて,最初は df + sed + awk で頑張って書こうと思っていたけど,よくよく調べたら Serverspec には Host Inventory と呼ばれる機能があって,サクッと解決することができた. serverspec.org ebs_spec.rb デバイスパスは適宜変えてもらうとして,host_in…

「JAWS-UG おコンテナ支部 #5」に参加して ECS の運用事例を聞いてきた

… Registry(Docker レジストリ) | AWS Minimum healthy percent と Maximum percent Creating a Service - Amazon EC2 Container Service Docker Datacenter on the AWS Cloud: Quick Start Reference Deployment GitHub - awslabs/amazon-ecr-credential-helper: Au…

社内イベントで「ガジェット紹介と Infrastructure CI の話」という謎の LT をした

…rvices: - docker ruby: version: 2.3.1 timezone: Asia/Tokyo dependencies: override: - docker info - docker build -t xxxxx . test: override: - sh /home/ubuntu/xxxxx/spec_scripts/rubocop.sh - sh /home/ubuntu/xxxxx/spec_scripts/foodcritic.sh - …

curl で Chef をインストールする時にバージョンを指定する

…leCI を使って Docker コンテナに対して chef-solo を実行して Serverspec でテストするという運用をしていて,昨日からテストが落ちるようになってしまった. kakakakakku.hatenablog.com 最初は CircieCI 側の問題かなと思ったけど,ログを見てみると chef-zero が起動していて,chef-solo を実行してる Dockerfile に問題があるなとわかった. Step 8 : RUN cd ${CHEF_HO…

Docker Compose を使って HAProxy に入門した

…のも面倒で,今回は Docker を使おうと思ったのと,せっかくなら Alpine Linux をベースにしたコンテナイメージにしてみようと思って haproxy:1.6.4-alpine と nginx:stable-alpine を選んだ. https://hub.docker.com/_/haproxy/ https://hub.docker.com/_/nginx/ kakakakakku.hatenablog.com kakakakakku/docker-hapro…

軽さは正義!を口癖にしよう /「Alpine Linux Meetup Tokyo #1」に参加した

…ine Linux docker-alpine :: viewdocs.io Alpine Linux package management - Alpine Linux musl libc Docker Hub を見ると alpine と gliderlabs/alpine と似たリポジトリが2個公開されているけど,基本的には全く同じで,Fastly 経由で配信されている点と,apk-install コマンドがバンドルされている点が主な違いだと説明されていた.特に困らないな…

CircleCI + Docker で Infrastructure CI (Chef + Serverspec) 環境を構築した

…ircleCI + Docker を活用した環境を構築してみた.今回構築した構成図はザッとこんな感じ.基本的に CircleCI からコンテナに ssh をしたくないと考えていて,全てコンテナ内で完結するように工夫した. Dockerfile まず,コンテナイメージに関しては CentOS 6.x で,既に Ruby 2.x が入っている tcnksm/centos-ruby をベースにした.今後カスタマイズしてもっと軽量なイメージに置き換えていきたいと思っている. Chef…

Packer を使って Vagrant のディスク容量を拡張する

… packer-app_compression_9.box まとめ Packer の最大のメリットは AWS / DigitalOcean / Docker などと連携してマシンイメージをビルドできる点かもしれないけど,シンプルに Vagrant 連携として使うだけでも,大きなメリットを感じることができた.実際に開発環境構築のコストが極限まで下がったのは嬉しい. 引き続き Packer を使ってくぞ! Packer を使うアイデアを教えて頂いた @ariarijp に感謝!🎉

Docker を学ぶなら「箱」の歴史も合わせて学ぼう /「コンテナ物語」を読んだ

本

…の仮想化技術として Docker が流行ってるし,物流業界におけるコンテナの歴史を知ることで,Docker に対するメタファーをより深く学べるのでは?と思ったからなんだけど,冷静に考えてみて「メタファーを学ぶため」って自分意識高すぎるのではwww コンテナ物語―世界を変えたのは「箱」の発明だった作者:マルク・レビンソン日経BPAmazon Malcom McLean Malcom McLean - Wikipedia 本書の主人公は「マルコム・マクリーン (Malcom Mc…

Microservices Casual Talks に参加してマイクロサービスの奥深さに驚愕した

…」には吹いた!最近 Docker Meetup もそうだけど,頻繁に Azure の話を聞くし,Microsoft も DevRel に力入れてるんだなーと思ったりした.あと Sway を使ったスライドで結構オシャレだなと思った.特に右に半ページ進んでいく感じは新しいなーと.セッション内容としては「マイクロサービス本の紹介」と「Principles Of Microservices by Sam Newman」の解説が中心で凄く勉強になった. sway.com https:/…

Docker Meetup Tokyo #6 に参加してコンテナパターンの知見を得た

…土曜に参加してきた「Docker Meetup Tokyo #6」のメモを残しておこうと思う.倍率2倍以上の抽選に当選できて良かった.去年夏にあった #5 にも参加してるし,Docker Meetup に関しては今回で2回目だった. dockerjp.connpass.com kakakakakku.hatenablog.com 資料 全てまとまってる場所は無さそうだけど,以下のソースからほぼ全て辿れる感じにはなっている. Docker Meetup Tokyo #6 - 資…

Docker で MySQL 5.7 を動かして新機能 JSON 型を試してみた

…MySQL 5.7 Docker で MySQL 5.7 を動かす Docker Hub に書いてある手順の通りにコンテナを起動すると,ちゃんと MySQL 5.7 が入っていた.本当に Docker は便利だなー. ➜ ~ docker pull mysql ➜ ~ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql latest e13b20a4f248 9 days ago 361.3 MB ➜ ~ dock…