ようへいの日々精進XP

よかろうもん

Docker

Dockerfile 内で条件に応じて処理を変えたかったので試行錯誤したメモ

tl;dr Dockerfile 例 試行錯誤 (1) シェルスクリプトに手をいれる 試行錯誤 (2) Dockerfile に手をいれる ということで 参考 tl;dr Docker イメージをビルドする際に、--build-arg に指定した条件に応じて、処理を変えたかったので試行錯誤してみました。 Do…

Dockerfile で VOLUME を使う際の注意点 〜 VOLUME 指定したパスではファイルを更新出来ない 〜

あけましておめでとうございます tl;dr Dockerfile あれーっ WordPress コンテナイメージの Dockerfile を見てみる VOLUME を指定すると ドキュメント Changing the volume from within the Dockerfile 参考 あけましておめでとうございます 今年も宜しくお…

GitHub Actions の自己ホストランナーを手元の MacBook Pro 上の Docker Desktop で試す

この記事は tl;dr 自己ホストランナー self-hosted runners セットアップ self-hosted runners 環境を Docker で作る コンテナの起動 Runner のセットアップ self-hosted runners の起動 Runner を使ったジョブの実行 Actions YAML 実行結果 以上 参考 この…

奥さんの ThinkPad E14 Gen2 をこっそりと自分仕様にしてみた

この記事は tl;dr ThinkPad E14 Gen2 インテル or AMD 川原家最強モデル 納期 そして、自分仕様に 奥さん用のセットアップはソコソコに そして、自分仕様に 自分仕様のゴール 自分用のアカウントを作成 WSL2 の導入 VSCode を導入にして WSL2 と連携させる …

AWS Lambda で Docker イメージがサポートされたのでチュートリアルしてみました

この記事は tl;dr チュートリアル アプリケーション Dockerfile ビルド 一旦、確認 コンテナイメージを push Lamda 関数を作成 API Gateway との連携 Gem パッケージを追加する場合 以上 参考 この記事は YAMAP エンジニア Advent Calendar 2020 の五日目に…

docker コマンドで ECS クラスタにデプロイ出来るようになった (beta 版) ので試してみたけど挫折した

tl;dr チュートリアル 要件 ecs-plugin docker ecs setup コンテナイメージを Docker Hub にプッシュ コンテキストを切り替える docker ecs compose up 雑にコードリーディング 残念ながら docker ecs compose up.go convert.go 以上 tl;dr AWS より以下のよ…

Alpine Linux Docker イメージを利用した Dockerfile 内で if else を使う時のメモ

tl;dr 要件 Dockerfile ハマったところ 以上 tl;dr Alpine Linux な Docker イメージを利用して Dockerfile を認めた際, カジュアルに if eles を使ったらちょっとハマったのでメモしておきます. 要件 Alpine Linux なコンテナイメージを使う ビルド時の引数…

Docker コンテナランタイムについて少しだけ勉強した (7)

tl;dr マインドマップ ハンズオンメモ 検証環境 事前準備 隔離環境の Alpine Linux に taskset をインストールする taskset の動作確認 隔離環境にて CPU (プロセッサ) 利用を制限する 利用可能なプロセッサの確認 隔離環境にて 0 番のプロセッサのみ利用可…

Docker コンテナランタイムについて少しだけ勉強した (6)

tl;dr マインドマップ ハンズオンメモ 検証環境 ただの chroot の場合 Alpine Linux を rootfs に chroot する chroot 環境で proc をマウントすると unshare を使う unshare で隔離 PID namespace Mount namespace User namespace 以上 tl;dr 会社から借り…

Docker コンテナランタイムについて少しだけ勉強した (5)

tl;dr マインドマップ ハンズオンメモ 検証環境 Filesystem bundle の作成 コンテナの起動 コンテナの停止 以上 tl;dr 会社から借りっぱなしの Software Design 2020 年 2 月号で特集されている Docker コンテナランタイムについての記事を読んでみたメモで…

Docker コンテナランタイムについて少しだけ勉強した (4)

tl;dr マインドマップ 所感 コンテナとはそもそも何なのか OCI Runtime Specification これまで 以上 tl;dr 会社から借りっぱなしの Software Design 2020 年 2 月号で特集されている Docker コンテナランタイムについての記事を読んでみたメモです. gihyo.j…

Docker コンテナランタイムについて少しだけ勉強した (3)

tl;dr マインドマップ 所感 色々なランタイム Docker って containerd 低レベルランタイム runc gVisor 以上 tl;dr 会社から借りっぱなしの Software Design 2020 年 2 月号で特集されている Docker コンテナランタイムについての記事を読んでみたメモです. …

Docker コンテナランタイムについて少しだけ勉強した (2)

tl;dr マインドマップ 所感 Kubenetes における... コンテナランタイムって 高レベルランタイム 低レベルランタイム pause コンテナの存在が面白い kubelet 以上 tl;dr 会社から借りっぱなしの Software Design 2020 年 2 月号で特集されている Docker コン…

Docker コンテナランタイムについて少しだけ勉強した (1)

tl;dr マインドマップ 所感 コンテナのメリットって Docker は高レベルランタイム やっぱ Kubernetes 以上 tl;dr 会社から借りっぱなしの Software Design 2020 年 2 月号で特集されている Docker コンテナランタイムについての記事を読んでみたメモです. gi…

【俺の一行チップス】Elasticsearch 6.x の Docker イメージにプラグインをインストールして docker-compose で Elasticsearch 環境を構築したい

やりたいこと やったこと ハマった 参考 やりたいこと Elasticsearch 6.x の Docker イメージを利用したい docker build の途中で Elasticsearch プラグインをインストール docker-compose で Elasticsearch 環境を構築したい やったこと 以下のような Docke…

【俺の一行チップス】docker-compose の Extension fields を使って DRY な YAML にする(docker-compose 3.4 以降, docker-compose 2.1 以降編)

やりたいこと 諸注意 やったこと これまでの docker-compose.yml 令和の docker-compose.yml 以上 参考 やりたいこと docker-compose.yml を書いていて, 同じ内容を何度も何度も書いていて, 令和の時代にこれはアカンということで Anchor, Alias で少しでも …

【俺の一行チップス】 Nginx で固定レスポンスを返す (ことを Go の testing パッケージで検証する)

やりたいこと 前回, Nginx で特定のパスにおいて固定のレスポンス (ステータスコード, ボディ) を返す為の設定についてメモったけど, 今回は, これを検証するにあたって Go の testing パッケージでテストコードを書いて検証したお話を少し. inokara.hateblo…

お客様の中に Ruby がソースコードからインストールされた Amazon Linux コンテナはいらっしゃいませんか?

tl;dr Amazon Linux に Ruby がソースコードからインストールされているコンテナが欲しくなって, https://www.ruby-lang.org/ja/downloads/ でダウンロード出来る Ruby がインストールされているコンテナイメージを夜な夜な自動的に作ってくれる仕組みを作っ…

最近ギョームでやったこと (5) 〜 Fargate で動いている ECS Scheduled Task (バッチ処理) のリソース使用量を計測出来るようにしました 〜

tl;dr なぜ こんな感じで... こんな感じで... (1) こんな感じで... (2) こんな感じに... なりました 実装にあたって得た知見等 Task metadata endpoint コンテナデザインパターン リソース (CPU 使用率, Memory 使用量) の計算方法 コンテナの起動順序の制御…

Docker Remote API に UNIX ドメインソケット経由でアクセスする

tl;dr ニッチかもしれないけど, ECS の Docker 用ストレージ容量監視を Docker Remote API を介して行えないか, そして, できれば UNIX ドメインソケット経由で API にアクセス出来ないかを調査しました. 今回は curl を使って UNIX ドメインソケットにアク…

docker-machine と DigitalOcean を使って "頼りになるのは, 近くの VM より遠くの VPS" な docker 環境を整える

tl;dr 頼りになるのは, 近くの VM より遠くの VPS DigitalOcean docker-machine Docker 用の Droplet を起動 Firewall を設定する 一通り設定が終わったら これで Docker を操作してみましょう 後始末 以上 tl;dr 個人的に利用している MacBook Air (11-inch…

ギョームで使うシェルスクリプトを社内に配布する方法を検討した

tl;dr シェルスクリプトサンプル 配布パターン (1) 〜 Amazon S3 に設置して配布する 〜 S3 バケットの設定 セットアップシェルスクリプト 実際の配布からスクリプトの実行までの流れ 配布パターン (2) 〜 Docker コンテナで配布する 〜 おっ, S3 よりもモダ…

CircleCI で Docker イメージをビルドして Amazon ECR に push するまでのハンズオン

tl;dr やんなきゃいけないこと やったこと リポジトリ Dockerfile goss.yaml .circleci/config.yml 実際に 以上 参考 tl;dr Docker のコンテナイメージを AWS の CodePipeline や CodeBuild を介して, コンテナレジストリ (ECR) に push する流れを実装した…

Docker や docker-compose で TTY を有効にした場合, 標準出力の改行コードが CR+LF になる件

tl;dr なぜ, こんなことになるのか なぜ, TTY の行末には CRLF が付与されているのか 参考文献 tl;dr ギョームで Docker (docker-compose) を使ったちょっとしたコマンドラインツールを作った時に, 以下のように実行して標準出力をファイルに出力すると, 何…

FTP ユーザーの振る舞いをテストをする rspec-ftp を試した + 抹茶を追加しました

tl;dr FTP ユーザーの振る舞いをテストする なぜ, FTP ユーザーの振る舞いをテストしたいのか サンプルはこちらから サンプル実行 想定する FTP サーバー, FTP ユーザー 環境構築 ユーザー名, パスワードを secret.yml に定義する テストを実行する...その前…

もう 2018 年だけど, Jenkins + Docker + itamae + Serverspec でインフラ CI っぽいことをやってるのでメモ

やってること メモ Jenkins を動かす環境 Docker イメージ itamae レシピ Serverspec テスト Jenkins の準備 プラグイン Docker 周り ジョブ infra-itamae の設定 infra-serverspec の設定 動いてる図 Build Pipeline ログ 以上 やってること 今更かもしれな…

Jenkins のマスターとスレーブを Docker コンテナで起動して Python の unittest を pyenv 環境で動かすまでのメモ

前提 Jenkins を動かす環境 Python の unittest Jenkins のコンテナの起動と初期設定 起動 初期設定 プロジェクトの設定 スレーブ環境の準備 スレーブ環境の前提 スレーブの追加 プロジェクトでスレーブを利用するように設定 ビルド 以上 前提 Jenkins を動…

俺は Linux コンテナについてなんにも解っていなかった 〜 haconiwa で学ぶ Linux コンテナ (1) 〜

追記 直近の Docker 界隈について Linux コンテナ 参考 Linux コンテナとは Linux コンテナを構成する主な機能 OS リソース毎の Namespace cgroup サブシステム こんなにざっくりでは、Linux コンテナは語れないと思うけど haconiwa haconiwa とは haconiwa …

Boto3 から DynamoDB の各種操作メモ(テーブル一覧取得、データ追加、データ取得、データ更新)

こちらからの転載。 やりたいこと Boto3 を利用して以下のような DynamoDB の各種操作を行いたい。 テーブル作成 テーブル一覧を取得 テーブルにデータを追加(put_item) テーブルからデータを全件取得(scan) テーブルのデータを取得(query) テーブルのデ…

Amazon ECR から docker pull する為に最低限必要な手順

tl;dr 整理した。 大前提 最低でも IAM Policy の AmazonEC2ContainerRegistryReadOnly をつけた IAM Role 又は IAM User を使う EC2 上での手順 前提 EC2 には 管理ポリシーの AmazonEC2ContainerRegistryReadOnly をつけた IAM Role が付いている 手順 doc…