Post

Docker

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-10-20 01:20:34

Kubernetesドキュメントのリーディングーコンセプトのまとめ

概要Kubernetesを本格的にキャッチアップしていくためにドキュメントを読んだので、オレオレメモを残す。全部は長いのでメモ書きはコンセプトの章だけにする。 kubernetes.io Kubernetesとは何か?cf. Kubernetesとは何か? Kubernetesとは何か? 宣言的な構成管理 自動化の促進 コンテナ化されたワークロードやサービスの管理のためのプラットフォーム 過去を振り返ってみると 仮想化ができる前の時代におけるデプロイ (Traditional deployment) 物理サーバー上でのアプリケーションのリソース制限がない リソース割当問題がある スケール...

インフラストラクチャ

Docker コンテナ Kubernetes

2020-07-09 18:45:41

DBドキュメント(ER図など)を自動生成してくれるツールーschemaspy, tbls

概要DBドキュメントを自動生成できるツールの有名所でいうと、MySQL Workbenchが筆頭に上がると思うが、それ以外にも良いOSSがないか漁ってみてちょっと触ってみたので感想を残す。 Schemaspy schemaspy.org github.com - schemaspy/schemaspy DBに接続してhtmlでDBドキュメントを生成してくれるJava製のツール。 Dockerhubにイメージがあるので、それを使って簡単に試してみることができる。 MySQL5.7(多分5.8も大丈夫だと思う・・)は、こんな感じでいけるはず。docker run -v "$PWD/sc...

データベース

Docker ER

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

2019-01-16 10:06:19

コンテナ技術概要

概要コンテナ技術についてのまとめ。Dockerを使わずにコンテナをつくって触ってみる。 コンテナとは ホストOSからアプリケーションとランタイムをまとめて、分離した一連のプロセス。 コンテナの歴史1979年 UNIX OSにchrootが登場。 2000年 FreeBSD jailsがFreeBSD 4.0に登場。chrootの発展系。 2001年 VServer Projectを通じてLinuxにもLinuxコンテナのベースとなる技術が登場。 2004年、LXC1.0がリリース。Linux Containers 2008年、Dockerが登場 コンテナ技術は上記以外にもVirtuozzo、...

インフラストラクチャ

Docker libcontainer lxc lxd コンテナ

2018-08-19 20:01:33

Docker for Macのマウントが遅い問題についてメモ

概要Docker for Macのマウントが遅い。npmとかスロー過ぎて辛い。メモ書き。 原因Dockerのスタッフの方のコメントを参照。(リンク先中段) Docker - File access in mounted volumes extremely slow, CPU bound MacOSのファイルシステムのAPIが関連しているらしい。 解決策 WindowsやLinuxを使う docker-sync MacOSとは異なるOSで構築した仮想環境を用意する(Vagrantとか) cached、delegated、consistentといったオプションを活用する(Docker - Perf...

インフラストラクチャ

Docker

2018-08-15 12:36:20

CircleCI2.0でPHPUnitのコードカバレッジを出力する

概要CircleCi2.0でPHPUnitのコードカバレッジを出力する 環境 CircleCi2.0 docker docker-compose PHPUnit6系 PHP7.2系 手順phpunit.xmlの設定を調整するカバレッジの対象としたいソースを指定する。 <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">./app</directory>...

アプリケーション

Docker CircleCI CircleCI2.0 phpunit