Post

インフラ

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:39:28

Mackerelで監視対象から外れたホストを再度復帰させる方法

概要Mackerelの監視対象から誤ったホストを退役させてしまったり、意図せず監視対象から外してしまったときなどに復帰させる方法についてメモっておく。 手順mackerel-agentを再起動しても自動で復帰しないのでホストに割り振られたhostIdを更新させる必要がある。 service mackerel-agent stop cd /var/lib/mackerel-agent mv id /tmp/ service mackerel-agent start 所感たまに焦るので気をつけたい...

インフラ

Mackerel

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-04-20 23:07:42

ubuntu初期設定メモ

概要ちょいちょい忘れてるのでメモ。不足があれば随時追加。 環境 ConoHa ubuntu 18.04.2 LTS (Bionic Beaver) 準備ubuntuインストール&rootログイン確認conohaでubuntuサーバーを用意し、rootログインできることを確認しておく。 ssh用の鍵をクライアント側で用意する秘密鍵と公開鍵を作成。 ssh-keygen -t rsassh root@<ip address> セットアップサーバーアップデートアップデートしておく。 sudo apt update && sudo apt upgrade -y ユ...

インフラ

Ubuntu

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-10-22 20:10:07

DockerでElasticsearchとKibanaの環境構築

概要ElasticSearchについての説明とDockerでの環境構築についてざっくりとまとめる。 ElasticSearchとは 分散型RESTful検索/分析エンジン 全文検索だけでなく、分析もできる ほぼリアルタイムの検索プラットフォーム クラスタ データ全体をまとめて保持する1つ以上のノード(サーバー)のコレクションのこと 全てのノードに渡って統合されたインデキシング機能と検索機能が提供される ノード データを保存するクラスタに含まれる1台のサーバー Dockerで環境構築ElasticsearchとKibanaが使える環境を構築する。 docker-compose.ym...

インフラ

elasticsearch kibana

2018-09-18 19:21:11

ssh接続セットアップメモ

概要ssh接続のセットアップ方法についてメモ。 準備 サーバーに接続してwheelグループに所属するユーザーを作成しておく 手順ホスト側~/.ssh/にてssh-keygenで公開鍵・秘密鍵を作成。ここでは公開鍵をid_rsa.pub、秘密鍵をid_rsaとして作成する。 公開鍵の中身をコピーしておく。 ~/.ssh/にてconfigファイルを作成しておく。 Ex. Host bmf HostName 123.45.679.012 User bmf Port 22 IdentityFile ~/.ssh/id_rsa サーバー側~/.ssh/が存在しない場合はディレクトリを作成する。パ...

インフラ

ssh sshd

2018-09-15 23:53:28

PrometheusとGrafanaでリソース監視環境を整える

概要PrometheusとGrafanaでリソース監視の環境を構築したのでメモ。 環境 さくらVPS CentOS7系 PrometheusをインストールPrometheus - Getting Startedに従ってprometheusをダウンロードする。 ダウンロードしたらprometheusを起動、ダッシュボードにアクセスできることを確認しておく。 ポートが開放されていない場合は開放しておく。 node_exporterをインストールPrometheus - node_exporter からnode_exporterをダウンロード。 こちらも起動しておく。 ポートの確認も同様。 Pro...

インフラ

prometheus grafana

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-09-16 22:10:57

Road to ISUcon

概要ISUcon出場に向けて準備したことを記す。 目標・目的を定めた 目標 ISUconの予選の時間を目一杯使い切ってチューニングをする 勝つことが目標ではあるが、初参戦なので現実的なラインの目標を立てた 目的 インフラ周りの知見を高める パフォーマンスを考慮したアプリケーション構築のための知見を高める 社内のパフォーマンス・チューニングの業務に携われるようにする(頑張る) メンバーを募集した会社の同僚を誘い、2人チームで参戦。 パフォーマンス・チューニングの手順までを確認した準備 レギュレーション確認  環境構築 sshの設定 バックアップ取得 自動デプロイ構築 簡易的なスクリ...

インフラ

パフォーマンスチューニング ISUcon ISUcon8

2018-06-09 16:32:32

さくらVPSでDocker環境を構築する

概要さくらVPS上にDocker環境を構築する。サーバーの初期設定等は割愛。 構築手順操作はすべてsudo権限を持った一般ユーザーで行うものとする。 Dockerには無償のCE版と商用版のEE版があるが、今回はCE版を使用する。 リポジトリをセットアップインストールsudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 stableリポジトリのセットアップsudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/cent...

インフラ

Docker さくらのVPS

2018-04-01 11:00:31

Dockerとは

Dockerとは Docker社が開発している、コンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム Linuxのコンテナ技術を使用 コンテナは、ホストマシンのカーネルを利用し、プロセスやユーザーなどを隔離する 軽量・高速 ミドルウェアや各種環境設定をコード化して管理できる(=Infrastructure as Code) ローカル・本番環境問わず 誰でも同じ環境が作れる 環境の再配布・再利用が容易 Dockerの正体 Linux Container(LXC) LXCにおけるコンテナのカスタマイズ(設定ファイル作成やシェルスクリプトによるファイルインストー...

インフラ

Docker 仮想環境

2017-10-12 16:34:53

さくらVPS+CentOS7.3+Ansible

概要AnsibleでさくらVPSの初期セットアップを自動化します。 環境 さくらVPS CentOS7.3 Ansible2.2.1.0 前提知識 さくらVPSをの初期設定の流れを理解していること。 さくらVPSの初期設定 さくらVPSにCentOS7をインストールさくらVPSのコンソール画面からOSインストール>カスタムOSインストールを選択してCentOS7をインストールしておきます。インストールが開始されると、CentOS7のインストール用コンソール画面(VNCコンソールのHTML5版かJava Applet版)を開くことができるので、環境に合わせて好きな方を選びます。 C...

インフラ

Ansible CentOS さくらのVPS Iaas

2017-10-01 16:34:12

Vagrant上のMySQLで"MySQL Daemon failed to start

LaravelでマイグレーションやSQLファイルのインポートを繰り返したり、中断したりと無茶をやっていたらMySQLがおかしくなりました。 対応MySQLの設定ファイルにログサイズを設定したら直りました。 innodb_log_file_size=5M 所感無茶はやめよう! 参考 "Plugin 'InnoDB' registration as a STORAGE ENGINE failed" というエラーで MySQL サービスを起動できません症状 innodb_log_file_sizeを気軽に変えると死ぬよ

インフラ

MySQL vagrant

2017-03-29 16:29:26

VagrantでCentOS6.7の開発環境を構築する

概要最近、Boxを再構築した際に、「Vagrant開発環境のワークフローをちゃんとまとめておきたい」と思ったのでまとめてみました。レポジトリにほぼ同じワークフローメモがあります。 github - bmf-san/vagrant-development-workflow 前提以下のアプリケーションがホストマシン(Mac)にインストールされていること Vagrant VirtualBox 環境ホストマシン(Mac) macOS Sierra v10.12.2 仮想環境 CentOS6.7 構築手順 開発環境ディレクトリにて、Vagrantfileを作成する vagrant init...

インフラ

apache CentOS vagrant

2017-03-08 16:28:26

Vagrant+CentOS7.3+Ansible

概要AnsibleでVagrantの環境構築をする最初の一歩です。プロビジョニングができる環境を整えます。 環境 Vagrant1.9.1 CentOS7.3 Ansible2.2.1.0 CentOS7.3のVagrnat Boxを用意する任意のディレクトリ(例として今回はcentos7.3)にてVagrant環境を構築します。 vagrant box add https://atlas.hashicorp.com/centos/boxes/7vagrant init ここまでのディレクトリ構成 centos7.3/ ├── .vagrant.d ├── Vagrantfile ※デフォル...

インフラ

Ansible CentOS vagrant

2016-10-03 16:27:12

Slack+hubot+cron(node-cron)+shell+logwatchでサーバーロ...

以前、slackとhubotでShellScriptをSlackから実行しようという記事を書きました。さくらvps+hubot+Slackでslack botをつくる 今回は対話形式のコマンド実行ではなく、cronで定期的にShellScriptを実行、Slackに出力結果を報告しようという試みです。 意外とこの類いのコピペでパクれるリスペクトできる参考ソースが調べても出てこなかったので、途中で挫折仕掛けましたw API叩いてcrontabで回すという無難な方法もありましたが、せっかくつくったhubotを活躍させたかったので頑張りました。 注意: この記事を執筆している時は確かに動いていたので...

インフラ

cron CentOS Slack さくらのVPS CoffeScript hubot logwatch shell

2017-10-03 16:11:47

php7をインストールした時にmysqlドライバーがなかった

php7をインストールした時にmysqlドライバーがなかった()php7のインストールについてはこちらを参照にしました。 CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール ちなみに私の環境は・・・ さくらVPS CentOS6.7 ドライバーがないならインストールすればいいじゃないyum install yum install --enablerepo=remi,remi-php70 php-mysqlnd これで解決できたっぽいです(:3」∠) 補足:php7のインストールに関してもしかしたら足りないパッケージもあるかもしれませんが、laravelをphp...

インフラ

CentOS MySQL PHP PHP7 さくらのVPS yum

2016-10-03 16:10:44

Nginxをリバースプロキシとして設定する

Apacheで運用していたさくらVPSにNginxをリバースプロキシとして設定したのでメモします。 随分前に設定したのでうろ覚えのところもあるかもしれませんがご了承ください。 環境 さくらVPS CentOS6系 Apache2.2.15 Nginx1.8.1 あると良い(いやあったほうが良い)前提知識 Apacheのバーチャルホストの仕組み及び設定方法 おおまかに仕組みをいうと、Nginxでリクエストを受け付けてApcheの指定ポートにリクエストを流すという感じです()バーチャルホストの設定はApache側で設定しておきます。Nginxが右から左へムーディ勝山するだけです。 Nginxを...

インフラ

CentOS Nginx apache さくらのVPS