Post

Docker Compose

2021-12-18 04:11:49

コンテナで始めるモニタリング基盤構築

この記事はMakuake Advent Calendar 2021の17日目の記事です。 気づけば入社して丸3年が経ち、会社のアドベントカレンダーも3回目の参戦です。 ここ1年はRe-ArchitectureチームというMakuakeのサービス基盤の開発・運用を行うチームに所属し、色々と奮闘してきました。 来年もきっとあれこれと奮闘するでしょう。 Re-Architectureチームの求人はこちら。【Go/マイクロサービス】「Makuake」の基盤を刷新するRe-Architectureチームのエンジニア募集! さて、今年の一本目の記事(24日にもう一本かく、たぶん)は「コンテナで始めるモニタ...

インフラストラクチャ

Docker Docker Compose elasticsearch grafana kibana prometheus cadvisor efk fluentd node-exporter

2021-09-05 22:37:06

M1 MacでMySQL8.0.17のコンテナが起動できない

M1 Macに買い替えたので手元の開発環境のためにmysqlコンテナを動かそうとしたら動かなかった。 エラーはこんな感じ。 runtime: failed to create new OS thread (have 2 already; errno=22) goのエラーだったので、アーキテクチャの何かしらの問題で動いていないのだろうと推測。 とりあえずdocker hubを見て8.0.17より最新のバージョンを探してみると8.0.26の最新パッチバージョンまでリリースされているのを確認できた。 https://hub.docker.com/layers/mysql/library/mysql...

データベース

Docker Docker Compose MySQL M1

2021-05-06 15:44:05

Docker CLIでDocker Composeが使えるようになった

最近のアップデートでDocker CLIがDocker Composeをサポートするようになったらしい。 cf. docs.docker.com - Compose CLI Tech Preview Tech Previewなのでまだプロダクションでの利用推奨されていないとのこと。 互換性についてはこちら。docs.docker.com - Compose command compatibility with docker-compose Docker composeはpythonで実装されているが、今回はサポートされるDocker Composeはgolang製らしい。 cf. https:...

インフラストラクチャ

Docker Docker Compose

2020-11-14 14:20:07

docker-compose.ymlで指定した環境変数がコンテナビルド中に参照できない

概要docker-compose.ymlのserviceの1つにenv_fileを指定し、環境変数を設定したが、サービスがbuildするコンテナ内(Dockerfile側)では参照できなかった。vueのアプリケーションをコンテナ内でnpmを使ってビルドしており、アプリケーション側でprocess.env.VUE_APP_API_ENDPOINTという形でアプリケーションのビルド時に環境変数を参照させたかった。 解決策docker-compose.ymlで指定するenv_fileやenvironmentといったキーはコンテナのビルド後に参照できるようになるため、それらのキーを利用するだけではコン...

インフラストラクチャ

Docker Docker Compose

2020-06-07 11:25:58

VPS×Docker Compose×Docker Machine×Golang×Nginx×Let...

概要GolangのアプリケーションをVPSでDocker-Composeを使って本番運用してみたかったので、トライしてみた。 環境実際に自分がトライした環境をまとめておく。 VPS(Conoha) お名前ドットコム(ドメイン管理) Docker Compose(本番とローカルの構成を別ファイルで構築) Docker Machine(デプロイで使う) Let's Encrypt(TLS/SSL) Nginx(リバースプロキシ) リポジトリサンプルをつくった。github - bmf-san/go-production-boilerplate 本番環境のサーバーではユーザー作成とかポー...

ポエム

Docker Docker Compose Golang Let's Encrypt Nginx Docker Machine VPS

2019-09-27 09:21:33

DockerのOperation not permittedというエラーに対応する

概要Docker Composeを使ってgolangのtest実行していたら、Operation not permittedというエラーに遭遇した。 対応Docker Documentation - runtaime-privilege-and-linux-capabilities Dockerコンテナの特権設定をいじると解決する。 gobel_test_db: container_name: "gobel_test_db" build: ./docker/mysql ports: - "3305:3306" volumes: - m...

インフラストラクチャ

Docker Docker Compose Linux linux capabilities seccomp

2019-09-17 23:33:59

Dockerizeを使ってDocker Composeのコンテナの起動順を制御する

概要Dockerizeを使ってDocker Composeで起動するコンテナの順番を制御する方法についての覚え書き。 github.com - jwilder/dockerize なぜDockerizeを使うのかDockerizeではなく、wait-for-it というピュアなbash scriptを使った方法も採用することもできる。 cf. Docker-docs-ja - Compose の起動順番を制御 Dockerizeを使う目的は複数コンテナを起動する際、コンテナの起動順を意図的に制御したいようなときである。 例えば、アプリケーション用のコンテナとテスト用のデータベースコンテナがあっ...

インフラストラクチャ

Docker Docker Compose Dockerize

2019-04-28 14:59:08

dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ

概要dockerでコンテナとイメージを削除してもvolumeが削除されていなくてちょいちょい忘れてハマるのでメモっておく。 普段は、docker-composeを使っている。 docker-compose builddocker-compose up -d して、 docker rm **docker rmi ** という感じにお片付けしているのだが、どうやらマウントしているvolumeを削除するオプションがあったらしい。 対応ボリュームが残っているか確認。docker volume ls docker volume rm ** 余談docker-composeでdocker-compose....

インフラストラクチャ

Docker Docker Compose