kakakakakku blog

Weekly Tech Blog: Keep Learning!

docker の検索結果:

CircleCI 2.0 の「ワークフロー機能」を学べる公式デモ用リポジトリ circleci-demo-workflows

…ndencies: docker: - image: circleci/ruby:2.4-node - image: circleci/postgres:9.4.12-alpine working_directory: ~/circleci-demo-workflows steps: - checkout - attach_workspace: at: ~/circleci-demo-workflows - restore_cache: keys: - v1-bundle-{…

CircleCI 1.0 → 2.0 に設定ファイルをマイグレーションするために「config-translation API」を試した

…めておこうと思う. Docker イメージを指定できるようになった version: 2 jobs: build: (中略) # In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages. # In CircleCI 2.0 you can now specify your own image, or use one of our pre…

ECS コンテナインスタンスをモニタリングするときは mackerel-agent v0.49.0 以上にすると良さそう

…ナインスタンスなど,Docker ホストとして使っているインスタンスを Mackerel でモニタリングする場合,以下のように disk と interface と filesystem のメトリクスが非常に多くなってしまう.Mackerel では,メトリクス数が 200 を超えると,1インスタンス追加と換算されてしまうため,比較的コンテナを多く起動している ECS コンテナインスタンスだと,メトリクス数が 200 を超えてしまうことが実際にあった(他にも多くメトリクスを取得…

ハンズオン講師を担当した Redash Meetup を振り返る

… Redash を Docker Compose で起動できるようにしていて,さらに Docker For Mac と Docker For Windows での動作確認もしたため,問題ないだろうと考えていたけど,Windows 10 Home + Docker Toolbox という環境があったり,クラウド環境上の Ubuntu + Docker という環境があったり,謎のエラーで起動に失敗する Docker があったりした.その場で対応をしてハンズオンに大きな影響はなかっ…

Redash を詳しく学べる「Redash ハンズオン資料」を作った

…良いと思う. 環境 Docker Compose で起動できるようにしているため,最低限 Docker を動かす環境が必要になる.今回,以下の環境は実際に動作確認をしているため,問題なく使える. Docker For Mac Docker For Windows また Redash のバージョンは,2017年11月時点で最新の Redash v2.0.1 を前提にしている.現在 Redash v3 は正式リリース待ちという状態で,Redash v4 は絶賛開発中という状態なの…

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…