CLOVER🍀

That was when it all began.

Docker

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…

Jib Maven Pluginで、Dockerコンテナイメージを作る

これは、なにをしたくて書いたもの? 以前、Jib Coreを使ってDockerイメージを作ってみました。 Jib Coreで、Dockerコンテナイメージを作ってみる - CLOVER これでJibの基本的なところはわかった…ことにして、今度はJib Maven Pluginを使ってDockerイメージ…

Jib Coreで、Dockerコンテナイメージを作ってみる

これは、なにをしたくて書いたもの? そういえば、Jibというものがあったけど、全然使ったことがないなと思い、1度試しておこうかなと。 Javaアプリケーションを自動的にコンテナイメージにビルドするツール「Jib」がバージョン1.0に到達 - Publickey Jib、…

Distroless Dockerイメージ(OpenJDK)を試す

これは、なにをしたくて書いたもの? 前々から、DistrolessというDockerイメージが気になっていて、ちょっと試して見ることにしました。 GitHub - GoogleContainerTools/distroless: Language focused docker images, minus the operating system. Base Ima…

Dockerで、PID名前空間を他のコンテナと共有する

「docker container run」コマンドの、「--pid」というオプションを知らなかったので。 $ docker container run --help | grep 'pid ' --pid string PID namespace to use こちらを使うと、指定したコンテナ(ホストも可)とPID名前空間を共有できるようです…

BusyBoxを使って、単一で実行可能なコマンドのバイナリをDockerコンテナ内に放り込む

これは、なにをしたくて書いたもの? Dockerコンテナ内で解析などの作業をする必要が出た時に、コマンドなどが入っていないDockerイメージが相手の場合は どうすればいい?という時の選択肢のひとつとして、BusyBoxが使えそうな気がしたので。 BusyBox Case …

実行中のDockerコンテナの情報を確認する

Dockerコンテナの情報を確認するにはどうしたらいいのかな?ということで、ちょっと調べてみました。 Docker標準のコマンドと、ctopというものが有用そうです。 確認用に、2つのコンテナを用意します。 ひとつは、nginx。 $ docker container run -it --rm -…

cAdvisorで稼働中のコンテナのメトリクスを取得する(+Prometheus)

cAdvisor? cAdvisor(Container Advisor)は、稼働中のコンテナのリソース使用量や、パフォーマンス特性を提供してくれるものです。 GitHub - google/cadvisor: Analyzes resource usage and performance characteristics of running containers. 【Docker…

OpenJDKのDockerイメージって、なにがあるんでしたっけ?

これは、なにをしたくて書いたもの? なにげなく、OpenJDKのDockerイメージを使ったりしていたのですが、1度、どんなイメージがあるのか調べてみようと $ docker search openjdk とか実行すると、わらわらと現れますしね。 ベースのイメージがどうなっている…

OKD/Minishiftで、Dockerイメージを(作って)デプロイするいろいろ

これは、なにをしたくて書いたもの? OKD(OpenShift)を使って、Dockerイメージをデプロイする方法をまとめておこうかと思って 直接Dockerイメージをデプロイしたり、Dockerfileからビルドしてデプロイする方法もあるので、そちらも合わせて Templateを使う…

OKD/Minishift上で、FluentdをDaemonSetとして実行してログを収集…しようとした話

これは、なにをしたくて書いたもの? Kubernetes上でログの収集・集約といえば、DaemonSetでFluentd これを、OKD(Minishift)上で試してようかなと そんな思いつきで始めたのですが、うまくいかなかったという話です。 最初に OKDには、FluentdとElasticsea…

Clairで、Dockerイメージの脆弱性スキャンを試す

これは、なにをしたくて書いたもの? Dockerイメージの脆弱性スキャンを実行できるツールについて、ちょっと調べてみて Clairというものが良さそうだったので、まずはこちらを試してみようと GitHub - coreos/clair: Vulnerability Static Analysis for Cont…

Dockerコンテナ上で、ログファイルにしかログを書かないソフトウェアに標準出力・標準エラー出力を使わせるようにする

Dockerのログまわりのドキュメントを読んでいて、ちょっと気になったところがありまして。 View logs for a container or service | Docker Documentation The official nginx image creates a symbolic link from /var/log/nginx/access.log to /dev/stdout…

Docker環境で、コンテナのログをFluentdに出力する(Docker logging driverとして使う)

これは、なにをしたくて書いたもの? Dockerのログ出力先(logging driver)をFluentdにできると聞いて 1度、自分でも試してみようと 参考) Docker/Kubernetes 実践コンテナ開発入門作者:山田 明憲発売日: 2018/08/25メディア: 単行本(ソフトカバー) loggi…

Dockerコンテナ内で、NFSマウントする

なにも考えずに、そのまま起動したDockerコンテナでは $ docker container run -it --rm --name ubuntu ubuntu:latest bash NFSマウントができなかったりします。 $ sudo mount -v 192.168.0.3:/ /mnt/nfs mount.nfs: timeout set for Fri Oct 5 15:53:18 20…

Dockerコンテナ内で、tmpfs(ramdisk)をマウントしたい

Dockerコンテナ内で、以下のようにtmpfsをマウントしようとしても、「権限不足」として怒られてしまいます。 $ sudo mount -t tmpfs -o size=1G tmpfs /mnt/ramdisk mount: permission denied ホスト側からvolumeとして与えるのが筋のような感じもしますが、…

CentOS/Ubuntu Linuxで、Oracle JDK 9をインストールしたDockerイメージを作る

Oracle JDK 9をインストールしてDockerイメージを作成する手順を、ちょっとメモ。Oracle JDK 8では、2017年にダウンロード先のURLや方法が大きく変わったようです。 [Java] OracleJDKの取得方法が大きく変わりました | Developers.IOOracle JDK 9について言…

Docker Compose 1.13.0から「scale」が非推奨になり、「up --scale」になったという話

Docker Composeで、「scale」コマンドを使用すると起動しているコンテナをスケールさせることができます。docker-compose scaleこちらが、実行すると警告されるようになったという話。例えば、こういうdocker-compose.ymlを用意して docker-compose.yml vers…