Docker

containerd v1.1.2を動かして色々操作してみた

containerdを動かしてコンテナを作ったりイメージをプルしたり色々やってみようっていう内容です。containerdに対する操作はCLIツールのctrを使用します。 containerdのインストールと実行 GitHubのリリースページよりtarballをダウンロードしてきます。今回…

docker-containerd、docker-containerd-shim、 docker-containerd-ctr、docker-runc

stack overflowのdockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shimの補足的な記事です。 各コマンドの説明と、これらを説明する上で必要なcontainerdやCRIの話もちょっと書きます。 一応自分の環境の情報 u…

Linux上にDockerをインストールするまでの作業

これと同じことをやることが頻繁にあるので、手順書(笑)にしておくことにしました。リモートマシンのUbuntuにDockerをインストールすることを想定。 SSH鍵転送 SSH鍵作成 TARGETは適宜変更。 TARGET=sushi 鍵作成 mkdir ~/.ssh/$TARGET ssh-keygen -t rsa -b…

AlpineでRustのバイナリを動かす

Rustのプログラムをビルドする時に静的リンクにするようにして、ビルドしてできたバイナリをDockerコンテナのAlpineで動かすまでの話です。 cargo buildについて Rustのパッケージマネージャ兼ビルドシステムのcargoというものがあります。まぁRust書いてる…

とりあえずdocker-composeでEFK動かした時のメモ

初めてfluentd触った時設定ファイルのあれやこれやがちんぷんかんぷんだったのでメモっておきました。ほぼ自分用。 とりあえず何も考えずにここのサンプルを実行 docs.fluentd.org このサンプルは何をやってるのか httpdのコンテナの出力をDockerのlogdriver…

Alpine Linuxのコンテナのタイムゾーンの変更

コンテナのタイムゾーンをJST(日本標準時)に変更したい場合、よく知られている方法として $ docker run -e TZ=Asia/Tokyo hoge というように環境変数TZを設定してやればいいというのがあります。ただしAlpine Linuxの公式のDockerイメージはこれだけではうま…

Dockerのポート開放がufwの制限を受けなくて焦った件について

前提としてufwを使ってConohaにVPS立ててみた 第2回 FW設定 - 24時のような設定をしているとします。たとえばNginxのプロセスをコンテナではなくホストで動かす場合、外部からホストの80番ポートにアクセスしようとしてもフィルタリングされてアクセスができ…

CaddyでHTTPS通信

「Caddyを使うとこんな簡単にHTTPSの通信ができるんだよ」っていう紹介 Caddy すごいWebサーバーだよ HTTP/2.0が使える Let's Encryptで証明書の取得を簡単に行なってくれる 実装はGo プロキシとして動作させられる QUIC対応 ...etc お遊び Nginxへの通信の…

docker stats

docker statsはDockerコンテナのCPUやメモリの使用率を表示するコマンド。地味にこのコマンドの存在知らなかったのでメモメモ。 公式ドキュメント: docker stats | Docker Documentation それと、docker statsはデフォルトでコンテナIDを表示するんですが、…

Elasticsearchのmemory locking requested for elasticsearch process but memory is not lockedから学んだCapabilityの話

Elasticsearchを起動したらこんなエラーが発生しました。昨日一日くらいずっとこれに頭を悩ましてましたね...。 [2018-02-20T03:39:32,327][WARN ][o.e.b.JNANatives ] Unable to lock JVM Memory: error=12, reason=Cannot allocate memory [2018-02-20T03:…

AlpineでGoのバイナリ動かなくて焦った話(anaconda)

先に結論を言うと、CA証明書が必要になるプログラムをAlpineのDockerコンテナで動かしたい時、公式のAlpineのイメージには元から入ってないんでca-certificatesをインストールしましょう、ということ。 過程 Go言語ではanacondaっていうライブラリを使うとTw…