社内ネットワークなどの閉じたネットワークでDockerのレジストリを構築し、http接続するときにUbuntu14.04とubuntu16.04とで設定方法が違ったのでメモしておきます。
検証したときのバージョンは以下の通りです。
- Doker Client/Server:1.12.1
- registry:2.5.0
社内ネットワークなどの閉じたネットワークでDockerのレジストリを構築し、http接続するときにUbuntu14.04とubuntu16.04とで設定方法が違ったのでメモしておきます。
検証したときのバージョンは以下の通りです。
弊社でも最近Dockerに触る機会が増えてきました。触り始めた当初は仮想化との違いに戸惑うことも多かったのですが、少しずつ慣れてきた気がします。今回はコンテナをスケールさせた時にハマったことを記事にしました。
コンテナのスケール時、CPU等のリソースに余裕があるにもかかわらず、Dockerが以下のエラーを出力して一定数以上のコンテナを起動できない。
ERROR: for otest_app_21 b’rpc error: code = 2 desc = “oci runtime error: could not synchronise with container process: could not create session key: disk quota exceeded”‘
前回の記事で、Dockerを使ってOverlayネットワークを構築し、VXLANパケットが送受信されるようになりました。
折角なので、VXLANでカプセル化されるICMP、TCP、SSLの3種類のプロトコルのパケットを眺めてみます。
あるアプリケーションの調査を行うために、VMを作ってそのVMの上で対象のアプリケーションを実行しようとしていたのですが、Docker上でも実行できるのではと思い立ち、Dockerの調査を行いました。
その過程で、DockerでサポートされているOverlayネットワークのVXLANとVXLANが提案されているRFC 7348の調査を行い、実際に物理マシン間でOverlayネットワークを構築しました。
そして、物理マシン上のコンテナ間でpingを実行時に物理マシン上でパケットダンプを実行したり、iperf3を使用してパフォーマンスの確認を行ったので、まとめておきます。
本記事では、VXLANやDockerなどの技術やコマンド自体については、記事が長くなることを避けるため、説明を省略しています。
ご了承ください。