Docker

docker logsとPID 1問題

1サービス1コンテナという言葉がある通り、Dockerコンテナでは1つのアプリケーションをパッケージングすることが推奨されています。 これを遵守していれば、docker logsの仕組みについてあまり理解せずともサービスのログの出力先を標準出力、標準エラー出力…

DockerHubのRuby Alpineで作るheadless chrome環境

headless chromeとSelenium WebDriverを使いたいと思ったときすぐ使えるような環境を作る。 Debian環境よりも簡単にインストールすることができたのでAlpine Linuxを使う。 Dockerfile FROM ruby:2.6.4-alpine3.10 RUN apk add -U chromium chromium-chromed…

Docker ComposeでRailsのアプリケーションログをFluentdでElasticsearchに送信する

過去の記事 前々回 前回 実現したいこと Nginxと同じようにRailsのアプリケーションログもKibanaで参照できるようにしたい。 引き続き、過去の記事で使用した環境に変更を加えていくのでdiffを記載していく。 Rails 参考 Collecting and Analyzing Ruby on R…

Docker LoggingにFluentdを使いforwardでNginxのログを送信する

過去の記事 実現したいこと 以前、NginxのログをFluentdを用いてElasticsearchに送信する際は、アクセスログをデータボリュームに書き出しtailで読み込んでElasticsearchに送信する方法で実現していた。 その際、オフィシャルのNginxコンテナのアクセスログ…

Dockerレジストリサーバーの構築

Docker ComposeではDockerfileのpathだけ指定すればImageをビルドしてくれるので非常に簡単でしたが、k8sクラスタで自分でビルドしたImageを使用するには一工夫必要なようです。 方法の1つは、k8sが内包しているDockerを使ってImageを予めビルドしておけばそ…

DockerでNginx+Rails6+MySQL+Fluentd+Elasticsearch+Kibanaを構築する

はじめに Docker? 構築 構築したいもの 各バージョン MySQL 参考 docker-compose.yml 変更点 注意点 Rails 参考 Dockerfile entrypoint.sh Gemfile docker-compose.yml database.yml Nginx config/puma.rb docker-compose.yml 注意点 Elasticsearch+Kibana …