kakakakakku blog

Weekly Tech Blog: Keep Learning!

docker の検索結果:

「Try Envoy」で Envoy を学ぼう!「Getting Started with Envoy」を試した

…「Route to Docker Containers」 Step.1 「Create Proxy Config」 最初は Envoy の挙動を設定する envoy.yaml を作成する.実際にエディタで envoy.yaml を書く場面はなく,手順上で Copy to Editor ボタンをクリックすると自動的にエディタに反映される仕組みになっている.Katacoda 便利!その前に基本的な用語を整理しておく.詳細はドキュメントを参照してもらえればと. Listeners …

多くの解析メトリクスをサポートしたコード解析ツール「SonarQube」に入門した

…e 環境を構築する.Docker Hub に公式イメージがあり,すぐ使える. $ docker run -d --name sonarqube -p 9000:9000 sonarqube Docker コンテナを起動し http://localhost:9000 にアクセスすると,以下のように SonarQube 画面が表示される. デフォルトアカウントは admin/admin となり,ログインをするとプロジェクトを作成する画面が表示される. プロジェクトを作成する さっ…

nginx でリクエストを制限できるモジュール「ngx_http_limit_req_module」

…挙動を確認するため,Docker Compose を使って検証環境を構築した. nginx.org 検証環境 今回 Docker Compose を使って,nginx と Sinatra を起動する検証環境を構築した.コンテナは計4種類で,以下の構成図にまとめた.今回は default.conf の異なる3種類の nginx (Frontend1-3) の挙動を確認する. Frontend1 (nginx) : limit_req Frontend2 (nginx) : li…

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」

…の複製」を試すため,Docker Compose を使って検証環境を構築した. nginx.org 検証環境 今回 Docker Compose を使って,nginx と Sinatra を起動する検証環境を構築した.コンテナは計3種類で,以下の構成図にまとめた.基本は Frontend と Backend でリクエストを処理し,今回は Mirror にもリクエストを複製する構成にしている.ドキュメントにも記載されている通り,Mirror からのレスポンスは無視される仕様にな…

2019年(1-6月)のプルリクエストを振り返る

…m 2019/01 docker/docker-bench-security 「Docker Bench for Security」を試していたら README.md に載っていないオプションを発見して,修正した.Docker (Moby) 関連のリポジトリにプルリクエストを出す場合,コミットメッセージに署名を追加する必要があり,git commit --signoff を経験することもできた. github.com 「Docker Bench for Security」の詳…

Packer 未経験者に最適な HashiCorp Learn の Packer コースを実施した

…ilder」以外に「Docker Builder」などもある. packer.io packer.io Vagrant Boxes 「Vagrant Boxes」ステップでは,Post-Processors の機能を使って,ビルドされたイメージを圧縮したり,アーティファクトとしてアップロードできることを学ぶ.今回は Vagrant 用の .box ファイルを作るため,テンプレートに post-processors を追加する. { "builders": [ (中略) ], …

Docker Experimental Features を有効化すると使える docker build の --squash オプション

Docker コンテナを本番運用する場合,コンテナイメージのサイズをできる限り小さくすることを意識すると思う.具体的には「レイヤー」を意識することにより,Dockerfile に記述する RUN を減らしたり,一時ファイルを消す場合に同じ RUN で rm をする.最近だと「multi-stage builds」を使うこともできる.Dockerfile のベストプラクティスは,以下の公式ドキュメントに載っているし,最近では「Container Build Meetup」といっ…

さぁ!コンテナを設計しよう /「分散システムデザインパターン」を読んだ

… APP_ID=$(docker run -d -p 80:80 nginx:alpine) $ docker run --pid container:${APP_ID} -p 8080:8080 brendanburns/topz:db0fa58 /server -addr 0.0.0.0:8080 Serving on 0.0.0.0:8080 起動後に http://localhost:8080/topz にアクセスすると,例えば以下のようなメトリクスを取得できる. p…

最新バージョン Redash v7.0.0 をすぐに試せる「Redash ハンズオン資料」

…を試せるようにした docker-compose.yml を Redash 公式の Setup Script に合わせて修正した UI 変更に合わせて文章を一部変更した github.com 関連記事 最新バージョン Redash v6.0.0 をすぐに試せる「Redash ハンズオン資料」 - kakakakakku blog 最新バージョン Redash v5 をすぐに試せる「Redash ハンズオン資料」 - kakakakakku blog 最新バージョン Redas…

マイクロサービスの学習に使えるサンプルアプリケーション「Sock Shop」

…ck Shop」は Docker / Kubernetes / Amazon ECS など,多くのプラットフォームをサポートしている.今回はお手軽に試すため,Docker Desktop for Mac と Docker Compose を使って動かす.ドキュメントにある Quick Start も Docker Compose を使う手順になっている.以下のように GitHub リポジトリを clone し,Docker Compose を起動すると,「計15種類」のコンテ…

SQL 選択実行など便利な新機能が追加された「Redash v7.0.0」紹介

… に公開されている docker-compose.yml と以下のドキュメントを確認しておくこと.バックアップを忘れずに! redash.io 1. Version 表記 細かな UI 変更ではあるけど,Redash v6 までフッターにあった Version 表記が Redash v7 ではメニューバーに移動していた.個人的にはフッターがスッキリして良いかなと! 2. Knowledge Base Redash の操作に悩んだときによく見る「Redash Help (Kno…

FaaS フレームワーク「OpenFaaS」を実践的に学べる公式ワークショップ

Docker Swarm と Kubernetes をサポートしている FaaS フレームワークとして「OpenFaaS」がある.CNCF Cloud Native Landscape を見ても Serverless カテゴリに入っている.OpenFaaS は前から気になっていたけど,今まで試したことがなく,最近 GitHub に OpenFaaS 公式のワークショップがあることを知って,さらに日本語版も用意されていたため,今回はワークショップを進めながら OpenFaaS …

Docker 公式のセキュリティ診断ツール「Docker Bench for Security」を試した

最近 Docker 関連のセキュリティツールを調査する機会があり,今回は「Docker Bench for Security」を試したログを残しておく.「Docker Bench for Security」は Docker から公式に提供されているセキュリティ診断ツールで,具体的には「CIS Docker Community Edition Benchmark v1.1.0」をサポートしている. github.com コンテナ実行 「Docker Bench for Secu…

ブラウザ経由で Windows Server にリモート接続ができる「Apache Guacamole」を Docker Compose で起動する

…mole with Docker 以下の公式ドキュメントに載っている通り,「Apache Guacamole」を構成するサービスである guacamole-server と guacenc は比較的多くのライブラリに依存している. guacamole.apache.org 今回は「Apache Guacamole」をお手軽に試すため,Docker を使うことにした. guacamole.apache.org ただし,公式ドキュメントに載っている手順を読むと,計3種類のコンテナ…

最新バージョン Redash v6.0.0 をすぐに試せる「Redash ハンズオン資料」

…プチャを撮り直した Docker Compose の Compose file を version 3 に変更した Redash / Redis / PostgreSQL の Docker イメージも Redash 公式に合わせて変更した UI 変更に合わせて文章を一部変更した Redash v6.0.0 変更点 Redash v6.0.0 で個人的にイイ!と感じる新機能は以下がある.特に「IBM Db2」は SIer 時代にずっと運用してた経験もあり,最近だと IBM Db…

知っておくと便利な MySQL の GROUP_CONCAT 関数

…base」を含めた Docker イメージを公開しているので,今回は kakakakakku/mysql-world-database:5.7 を使う. https://hub.docker.com/r/kakakakakku/mysql-world-database $ docker pull kakakakakku/mysql-world-database:5.7 $ docker run -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d kaka…

2018年のプルリクエストを振り返る

…ライブラリを自分で Dockerized して Docker Hub に公開することも多かった.来年も仕事で使うライブラリを中心にプルリクエストを送れるように頑張るぞ! https://hub.docker.com/r/kakakakakku/foodcritic/ https://hub.docker.com/r/kakakakakku/rubocop/ https://hub.docker.com/r/kakakakakku/apex/ https://hub.docke…

Rubyist が学び合うカンファレンス「Rails Developers Meetup 2018 Day 4」に参加した

… Digdag も Dockerized すると今より運用しやすくなる可能性もありそう.登壇中にちょこちょこと ZOZO に関係する時事ネタが出てきて,笑ってしまった! (資料公開待ち) Rails x パターン @junk0612 単一テーブル継承 (STI : Single Table Inheritance) 出典 : 書籍「エンタープライズ アプリケーション アーキテクチャパターン」 サブクラスの追加に柔軟に対応できる ただし,サブクラスのカラムに NOT NULL …

HTML の Lint ツール「htmllint」を CircleCI で実行する

…ithub.com Dockerized 次に HTML を GitHub に push したら自動的に CI で htmllint を実行するため,事前準備として htmllint を Dockerized した.Docker Hub から kakakakakku/htmllint-cli イメージを落とせば使える. https://hub.docker.com/r/kakakakakku/htmllint-cli/ $ docker pull kakakakakku/ht…

依存パッケージを更新するサービス「Depfu」で package.json の更新をチェックする

…endabot + Dockerfile を試した記事がある. kakakakakku.hatenablog.com インストール Depfu は GitHub Marketplace からインストールできる.パブリックリポジトリなら無料で使えるので,すぐに試すことができる. github.com 今回は数年前に実装した個人用 Slack Bot (Hubot) のリポジトリに Depfu を適用した.全プルリクエスト(計8個)を merge して,Slack Bot をデプ…

依存パッケージを更新するサービス「Dependabot」で Dockerfile の更新をチェックする

…hikoma.io Docker サポートとは? Dependabot がサポートしているプログラミング言語の中に「Docker」があり,具体的に何をしてくれるんだろう?と興味があったので,実際に試してみた.結論から言うと「Dockerfile のベースイメージに更新があったら Dockerfile を更新するプルリクエストを作成してくれる機能」だった.これは便利では!? インストール & 設定 Dependabot は GitHub Marketplace からインストール…

最新バージョン Redash v5 をすぐに試せる「Redash ハンズオン資料」

…化 MySQL の Docker Image を kakakakakku/mysql-world-database:5.7 に変更した Docker Image に関して,今まで使っていた kakakakakku/mysql-57-world-database は,バージョンごとにイメージ化していて,さらに Docker Hub のアップロードを手動でやっていたので,運用面で課題があった.今回から使うことにした kakakakakku/mysql-world-database…

GitHub の README.md をバッジでオシャレにできる Shields.io と dockeri.co

…ests など ) Docker 関連 ( Pulls / Automated build / Build Status など ) 仕組み 「Shields.io」から生成した URL にアクセスすると,SVG 形式の画像がオンデマンドに生成される.以下の例は指定した GitHub リポジトリの Star 数をバッジにしている. https://img.shields.io/github/stars/kakakakakku/redash-hands-on.svg バッジスタイ…

CircleCI + misspell で typo の検出を CI する

…で使っている.既に Docker Hub にイメージが公開されているので,CircleCI の設定 .circleci/config.yml も簡単で,以下のように書ける.ポイントは -error オプションで,これを付けないと,エラーが出てもリターンコードが 0 になってしまう. version: 2 jobs: misspell: docker: - image: nickg/misspell steps: - checkout - run: misspell -erro…

たった 19.9MB!mkr の公式 Docker イメージが公開された

…ル mkr の公式 Docker イメージが公開された. mackerel.io mkr monitors { pull / diff / push } 2年前に記事を書いているけど,CircleCI と mkr を組み合わせて Infrastructure as Code にした Mackerel の監視ルールを CI で回している.検証などで,一時的に修正した監視ルールがそのまま残ってしまうことを検知できるので,非常に便利! kakakakakku.hatenablog.…

Fargate 東京リージョンは7月だー! / AWS Summit Tokyo 2018 に参加した

…している 利用技術 Docker + PHP + 独自フレームワーク Terraform + Ansible BigQuery SendGrid + Cuenote FC StatusCake StatusCake – Website Monitoring – Website Monitoring & Downtime Alerts 外形監視/パフォーマンス監視/プロトコル別の監視 Datadog データベース移行 AWS Direct Connect でオンプレと VPC …

シェルスクリプトのテストフレームワーク Bats を試してみた

… failures Dockerized とは相性が悪そう CircleCI 2.0 でテストを実行しようと思って,Bats を Dockerized したけど(Alpine と Amazon Linux),Bats を実行するコンテナにライブラリなどが必要になるため,例えば Bats のサンプルコードだと bc も dc も入ってなく,エラーになる.ecs-deploy では,必要なライブラリを Dockerfile でインストールしている. ✗ addition usin…

CircleCI 2.0 + Apex で Lambda をデプロイする

…ex deploy Dockerized Apex CircleCI 2.0 は Docker コンテナを使ってジョブを実行するため,Apex のコンテナが必要になる.ただし Apex 公式では提供されていなく,あまり良さそうなものもなかったため,今回 Alpine ベースで軽量な Dockerized Apex を作成した.バージョンは v1.0.0-rc2 と v0.16.0 をサポートしている.Docker イメージは kakakakakku/apex - Docker…

「Japan Container Days v18.04」に参加して1日中コンテナのことを考えていた

…学習エンジニア側で Dockerfile を用意すれば,残りは SRE で構築してもらうことができた Web Server / Queue / Worker / 機械学習モデルなど 継続的デリバリーは Spinnaker を使っている GUI で直感的に使える 機械学習モデルのリリースは,最初は「意図的に手動で」運用していた 多様である機会学習モデルの運用がどういうものなのかを把握するため 汎用性の不足もある Persistent Volumes でデータを共通化すれば,機械…

AWS で Kubernetes クラスタを構築して学ぶワークショップ「aws-workshop-for-kubernetes」

…0 30s さらに docker exec のように kubectl exec でポッドの中に入ることもできた.最後は kubectl delete でデプロイメントごと削除をした. $ kubectl exec -it nginx-7c87f569d-vwxjw /bin/bash root@nginx-7c87f569d-vwxjw:/# ls -al /etc/nginx/conf.d/default.conf -rw-r--r-- 2 root root 1093 M…