CLOVER🍀

That was when it all began.

Docker

DockerおよびDocker Composeでtmpfsを使う

これは、なにをしたくて書いたもの? Dockerではtmpfsをマウントすることができます。 前に似たようなエントリーを書いたことがあるのですが、なぜか「(起動後の)Dockerコンテナ内でマウントする」で終わっていました…。 Dockerコンテナ内で、tmpfsをマウ…

使用しているLinux環境のcgroupが、v1なのかv2なのかを確認する

これは、なにをしたくて書いたもの? 使用しているLinux環境のcgroupがv1なのかv2なのかを確認するには?ということで。 Kubernetesのドキュメントに見分け方が書かれていたので、試してみることにしました。 cgroup v1とv2 Linuxでは、プロセスをグループに…

Docker Composeの構成ファイル内で環境変数を参照する

これは、なにをしたくて書いたもの? Docker Composeの構成ファイル内で(環境)変数を参照できるのはなんとなく知っていましたが、ちゃんと試したことがなかったので 自分でも確認しておきたいなということで。 環境 今回の環境は、こちら。 $ docker versi…

Docker Composeで、コンテナの起動時に初期処理をしたい

これは、なにをしたくて書いたもの? Docker Composeを使って起動するコンテナの初期処理をするには、どうしたらいいのかな?ということで。 ちょっと考えてみました。 環境 今回の環境は、こちら。 $ docker version Client: Docker Engine - Community Ver…

Docker Composeで、構成ファイルを複数使って定義内容を上書きする

これは、なにをしたくて書いたもの? Docker Composeで、構成ファイルを複数使って上書きができることはなんとなく知っていたのですが、ちゃんと情報を追ったことが なかったので、ちょっと見てみることにしました。 Docker Composeでの構成の上書き ドキュ…

Docker Composeを使った時に、コンテナ間で名前解決したい

これは、なにをしたくて書いたもの? ふだんDocker Composeをそんなに使っていないのですが、たまに使うとコンテナ間で名前解決するのにどうすればいいのかよくわからなく なるので、ちゃんと見ておくことにしました。 参照ページ 主に、以下のページを見て…

hadolintでDockerfileの静的解析を行う

これは、なにをしたくて書いたもの? hadolintというDockerfileのlintがあるので、試してみることにしました。 hadolint hadolintは、Dockerイメージをベストプラクティスに従って構築するためのDockerfileのlinterです。 Dockerfile Linter GitHub - hadoli…

TestcontainersをNode.js(TypeScript)で試す

これは、なにをしたくて書いたもの? JUnitを使ったテストでコンテナの利用をサポートする、Testcontainersというライブラリがあります。 Testcontainers こう書くとJava向けのライブラリのようなのですが、他の言語でも扱えるようなので試してみることにし…

Amazon ECS CLIを使って、ローカルでタスクを実行する

これは、なにをしたくて書いたもの? Amazon ECS CLIを使うと、Amazon ECSのタスク定義をローカルで実行できるらしいので、ちょっと試してみようかなと。 Amazon ECS CLI Amazon ECS CLIは、ローカルからAmazon ECS上でのアプリケーションの構築、リリース、…

Docker Engine(Linux)でコンテナからホスト側のサービスにアクセスする(host.docker.internal)

これは、なにをしたくて書いたもの? Docker Desktopには、host.docker.internalというホスト側のIPアドレスを参照する仕組みがあるようです。 Networking features in Docker Desktop for Windows / Features / Use cases and workarounds / I want to conn…

Docker Compose V2をインストールする

これは、なにをしたくて書いたもの? Docker Compose V2がGAになったというので、こちらに移ろうかな、ということで。 Announcing Compose V2 General Availability - Docker Docker Compose V2について Docker Compose V2のGAをアナウンスしているブログは…

Infinispan Server 13をTestcontainersで使う(Infinispan Server Test Driver)

これは、なにをしたくて書いたもの? Infinispan 13のドキュメントに、Testcontainersについて書かれている箇所が増えていることに気づきまして。 Using Hot Rod Java clients / JUnit testing Using Hot Rod Java clients / Testing Infinispan with test c…

JavaがDockerコンテナ内でどのようにCPU数、メモリサイズを取得しているのかを調べてみる

これは、なにをしたくて書いたもの? 現在のJavaは、コンテナ環境下ではホスト側ではなくコンテナにリソース制限がかけられていればそちらの値を見るように なっています。 これはどこの値を見ているのかな?というのを確認してみたくなりまして。 なお、自…

Dockerコンテナ内で、PM2を使ってアプリケーションを起動する

これは、なにをしたくて書いたもの? 前に、PM2を使ってNode.jsアプリケーションのクラスター化をしてみました。 PM2を使って、Node.jsアプリケーションをクラスター化(CPUスケーリング)させてみる - CLOVER 今度は、Dockerコンテナ内でPM2を使い、アプリ…

Dockerコンテナ内で動作するNode.jsが認識するCPU数、メモリサイズ(ヒープサイズ除く)は、ホスト側のものになるという話

これは、なにをしたくて書いたもの? Dockerコンテナ内で動作するNode.jsが認識するCPU数は、ホスト側のものになってしまうようなので、これを メモしておこうかなと。 メモリについても同様のようですが、ヒープに限ってはコンテナ側の値を見てくれるようで…

Quarkusでコンテナイメージを作成する(Docker Extension/Jib Extension)

これは、なにをしたくて書いたもの? Quarkusのドキュメントを見ていて、コンテナイメージを作成するExtensionができていることに気づいたので。 Quarkus - Container Images ちょっと試してみようかなと。 Quarkus Container Images extension Quarkus 1.3.…

Docker in Docker、Docker outside of Docker(ソケットファイルの共有)を試す

これは、なにをしたくて書いたもの? そういえば、Docker in Dockerについて自分でちゃんと見たことないなと思いまして。 ちょっと調べておこうかな、と。あと、Docker outside of Dockerも少し扱います。 Docker in Docker(とDocker outside of Docker) D…

Dockerfile内で複数行の文字列を作りたい

これは、なにをしたくて書いたもの? 時々、Dockerfile内で複数行の文字列を作りたくなる時があるのですが、どうやったらいいのかすぐに忘れるのでメモして おこうかな、と。 環境 今回の環境は、こちらです。 $ docker version Client: Docker Engine - Com…

どのリクエストにも決まったレスポンスを返す、http-echoサーバー

これは、なにをしたくて書いたもの? どのURLパスにも、とりあえずHTTPステータスコードOKを返してくれるHTTPサーバーを探していまして。 いくつか探してみたのですが、http-echoでいいかなと。 http-echo HashiCorpの提供する、「hello world」的なHTTPサー…

Cloud Native Buildpacksで遊んでみる(Java)

これは、なにをしたくて書いたもの? 前に、Spring BootのCloud Native Buildpacksサポートで遊んでみました。 Spring BootのCloud Native Buildpacksサポートを試す - CLOVER 今回は、Cloud Native Buildpacksそのものに焦点を当てて見てみようかな、と。 C…

Spring BootのCloud Native Buildpacksサポートを試す

これは、なにをしたくて書いたもの? Spring Boot 2.3から、Cloud Native Buildpacksを使ったDockerイメージの作成ができるというので、ちょっと試しておこうかなと。 Support for building Docker images using Cloud Native Buildpacks Spring Boot 2.3.0.…

Dockerのホストおよびコンテナの設定をチェックしてくれる、Docker Bench for Securityを試す

これは、なにをしたくて書いたもの? Docker Bench for Securityという、Dockerのホストおよび動いているコンテナの設定を確認してくれるツールがあるというので、 試してみることにしました。 GitHub - docker/docker-bench-security: The Docker Bench for…

Dockerコンテナイメージのセキュリティ診断ツール、Dockleを試す

これは、なにをしたくて書いたもの? Dockerイメージのセキュリティ診断ツールのひとつとして、「Dockle」というものがあるのを知りまして。 こちらをちょっと試してみようかな、と。 Dockle? コンテナイメージに含まれるパッケージ等の脆弱性診断ツールと…

Linux CapabilitiesとDocker

Dockerを使う時に「--cap-add」とか「--privileged」とか使うことがありますが、あまりわかってないなぁと思って 少し見てみることに。 Docker run reference / Runtime privilege and Linux capabilities Capabiliiesというのは、Linuxでの特権ユーザーに割…

リモートホストで動作しているDockerデーモンを使用する

これは、なにをしたくて書いたもの? リモートホストで動作しているDockerデーモンを扱ったことがなかったので、1度試してみようかな、と。 環境 今回の環境は、こちらです。 $ uname -srvmpio Linux 4.15.0-108-generic #109-Ubuntu SMP Fri Jun 19 11:33:1…

Fluent Bitを使って、DockerコンテナのログファイルをTailプラグインで読む

これは、なにをしたくて書いたもの? 前に、Fluent BitをDockerのlogging driverとして使ってみました。 Fluent BitをDocker logging driverとして使う - CLOVER 今度は、DockerコンテナのログをTailプラグインで読み込んでみようと思います。 Tail - Fluent…

Fluent BitをDocker logging driverとして使う

これは、なにをしたくて書いたもの? 以前、FluentdをDockerのlogging driverとして使ってみたことがありました。 Docker環境で、コンテナのログをFluentdに出力する(Docker logging driverとして使う) - CLOVER 今回は、Fluent BitをDockerのlogging driv…

Docker Composeで、Redis Clusterをできる限り簡単に作る

これは、なにをしたくて書いたもの? Redisでたまにクラスタを作るのですが、ふだん素のDockerでやっていて面倒だなーと思うようになり。 Docker Composeで構成しようと思うのですが、Redis Clusterを作る時はコマンドを実行する必要もあり。 このあたり、ど…

OSSのコンテナイメージ脆弱性スキャンツール、Trivyを試す

これは、なにをしたくて書いたもの? 以前からちょっと気になっていた、Trivyというコンテナイメージの脆弱性スキャンツールを試してみたいと思います。 GitHub - aquasecurity/trivy: A Simple and Comprehensive Vulnerability Scanner for Containers, Su…

docker image build時に、DNSの設定をなんとかしたい

これは、なにをしたくて書いたもの? Dockerコンテナ内で、たまに名前解決できなくて困ることがあります。 それを、Dockerイメージをビルドする時に同じようにハマったら、どうしましょうか?という話。 環境 今回の環境は、こちら。Ubuntu Linux 18.04 LTS…