CLOVER🍀

That was when it all began.

Docker

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)をFluentdにできると聞いて 1度、自分でも試してみようと 参考) Docker/Kubernetes 実践コンテナ開発入門作者: 山田明憲出版社/メーカー: 技術評論社発売日: 2018/08/25メディア: …

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…

TestContainersを使って、JUnitテスト中にDockerコンテナを起動/停止する

前に、MavenのプラグインとしてDockerの操作を行う、docker-maven-pluginを試してみました。docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする - CLOVER今度は、JUnitのRuleを使用してDockerコンテナの起動停止を行う、TestCont…

docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする

Docker+Mavenで、テスト時にDockerコンテナを起動してテストして…みたいなことを、そういえばやったことが ないなぁと思いまして。いつも、わりかしふつうにdocker runしてます。で、MavenでDockerを使うプラグインの情報をなんか見たことがあったので、軽…

Docker Composeで、Apache Geodeの簡単なクラスタ環境を構築する

1.0.0-incubatingがリリースされて久しいApache Geodeですが、クラスタ環境を簡単に構築するような Docker Composeを書いてみようかなと思いまして。あくまで手元で簡単に確認したいがための内容なので、あんまりがっちりとした内容ではありません。次のこと…

Sonatype Nexus 3を使用して、PrivateなMavenリポジトリ、npm Registry、Docker Registryを構築する

Sonatype Nexusが、OSS版でもバージョン3からDocker Registryになれると聞き、「これは!」と思い 自分でも試してみようかと。News and Notes from the makers of Nexus | Sonatype BlogNews and Notes from the makers of Nexus | Sonatype BlogNexus Repos…

Docker内でsystemdを使いたい

Docker内でsystemdを使おうとすると、以下のエラーに遭遇して動作しません。 Failed to get D-Bus connection: No connection to service manager.にっちもさっちもいかなくなるので、こちらを参考に。Dockerでsystemctlでserviceが起動できない - SHOYAN BL…

W3CのNu Html CheckerとCSS Validatorをローカルで動かす

HTMLやCSSのチェックに使われる、Nu Html CheckerとCSS Validatorというものがあります。こういうやつですね。Ready to check - Nu Html CheckerThe W3C CSS Validation ServiceそれぞれURLを指定したり、ファイルをアップロードしたり、対象を直接テキスト…

Dockerコンテナ内のUbuntu Linux上で、パッケージインストールしたTomcatの起動に失敗する(失敗したように見える)場合

Dockerコンテナ内でインストールしたTomcatを、以下のようなコマンドで起動しようとすると失敗したように見えることがあります。 # service tomcat8 start [FAIL] Starting Tomcat servlet engine: tomcat8 failed! Docker起動時のコマンドは、こんな感じ。 …

Docker Composeで、ElasticsearchとKibanaを試す環境を作る

Elasticsearchを最近単体で使って遊んでいたのですが、そろそろKibanaも使ってみたいなと思いまして。Kibana: Explore, Visualize, Discover Data | ElasticKibanaのインストール方法を見つつ、自分はElasticsearchはDockerコンテナ内で遊んでいることが多い…

Ubuntu LinuxでRedis ClusterのDockerイメージを作って遊ぶ

Redis Clusterを使ってみたいのと、合わせてそのDockerイメージを作ろうかなと思ってちょっと遊んでみました。Redis 3から、クラスタが組めるようになったそうですね。これを試してみたいと。参考) オフィシャルサイトチュートリアル Redis cluster tutoria…

Ubuntu LinuxでApache(SSL付き)のDockerイメージを作る

ちょっとメモ的に。作り方を知ってると、今後も便利かなと。Dockerfile FROM ubuntu:latest RUN apt-get update && \ apt-get install -y apache2 \ vim && \ a2enmod ssl && \ a2ensite default-ssl EXPOSE 80 443 ENTRYPOINT service apache2 start && tai…

Apache Solr 5.xのレプリケーションを、Docker Composeを使って試す

Docker Composeを試してみたので、これを使ってApache Solrのレプリケーションを構成してみたいと思います。Index Replication | Apache Solr Reference Guide 6.6Solrのレプリケーションは、マスターとスレーブがあって、それぞれの設定をsolrconfig.xmlに…

Ubuntu Linux 14.04 LTSで始めるDocker Compose

今までDockerを使う時はdockerコマンド単体で扱っていたのですが、最近少し複数コンテナを扱いそうな機会が増えてきまして。これを機に、Docker Composeを試してみようかと思います。Overview of Docker ComposeDocker Composeを使うと、複数のコンテナをま…

Dockerでキャッシュを無視してビルドする

「docker build」に、「--no-cache」を付与。 $ docker build --no-cache -t [タグ:バージョン] .

Ubuntu Linux/CentOSで、Dockerイメージを日本語化する

Dockerを使っていて、場合によっては日本語を使おうとして困ったことになるので、メモとして。 Ubuntu Linuxの場合 Dockerfileに、以下のように記述。 RUN apt-get install -y language-pack-ja-base \ language-pack-ja \ ibus-mozc \ man \ manpages-ja &&…

Ubuntu Linux 14.04 LTSにインストールしたDockerをUpgradeする

このところDockerをUbuntu Linux上で使っているのですが、全然バージョンが上がっていないことに気付きまして。apt-get updateでは変わらないんですねー。というわけで、以下の手順を見ながらUpgrade。Upgrade Docker https://docs.docker.com/installation/…

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

Oracle JDKのRPMをコマンドでダウンロードする方法をまったく覚えられないので、Dockerイメージの作り方と合わせてメモ。CentOS 7とUbuntu Linuxで、Oracle JDK 8をインストールするDockerfileを書いておきます。追記) CentOSなどで使う、RPM形式のファイル…