CLOVER🍀

That was when it all began.

Docker

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…

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について言…