Corredor

ウェブ、プログラミングの勉強メモ。

Docker

Kubernetes で Pod が再起動しまくった原因は、コンテナのプロセスが終了したから

Kubernetes で動かすコンテナを作ってデプロイしたところ、Docker コンテナとして単体で動かしていた時は上手く動いていたのに、Kubernetes Pod としては正常に起動しない問題に遭遇した。 $ kubectl get pod で Pod のステータスを見ると、CrashLoopBackOff…

起動中の Docker コンテナにファイルを転送する / コンテナからファイルをダウンロードする

ポケットモンスター アップロード / ダウンロード (何) Docker コンテナ起動時に -v オプションを指定すれば、ホスト OS との共有ディレクトリを設定することはできる。 今回はそうではなく、既に起動されている Docker コンテナにホスト OS からファイルを…

OCI CLI・OKE・OCIR 利用時に異なるアカウントを切り替えるには

OCI (Oracle Cloud Infrastructure) 環境の参照・操作に使う OCI CLI (oci コマンド)。 なかなかいないかもしれないが、複数のテナンシーを管理していて、OCI CLI で複数の環境を操作したいという人向けに、設定ファイルの切り替え方を考えたのでご紹介。 OC…

異なるプライベート Docker レジストリを切り替えるには

プライベート Docker レジストリを使う際、$ docker login コマンドでそのレジストリにログインするワケだが、プライベート Docker レジストリが複数ある場合に、どうやって切り替えるか。 そもそも $ docker login している状況はどこに保持されているのか…

Oracle Management Cloud の Log Analytics とやらを使ってみる

Oracle Management Cloud (OMC) というサービスがある。サーバのログを収集・分析して、問題が発生した場合はアラートを上げたりできる。 今回はこの OMC の中の Log Analytics 機能を中心に、使い始めてみる。 OMC の特徴 前提とするサーバ環境 OMC インス…

OCI ことはじめ : OCIR に Push した Docker イメージを OKE クラスタ上で動かしてブラウザからアクセスするまで

OCI : Oracle Cloud Infrastructure という IaaS を使ってみる。OCI には OCIR : Oracle Cloud Infrastructure Registry と呼ばれるプライベート Docker レジストリと、OKE : Oracle Container Engine for Kubernetes という Kubernetes マネージド・サービ…

外部から Docker コンテナに環境変数を注入する方法

Docker コンテナ内で使用する環境変数を、Docker コンテナ起動時に注入する方法。 Dockerfile の ENV 命令だと切り替えが難しい -e (--env) オプション --env-file オプションで一括設定 Dockerfile の ENV 命令だと切り替えが難しい Docker コンテナ内で使…

Docker コンテナ内で動作する Web サーバにホスト OS からアクセスするには : ポートフォワーディング

Docker 基礎。 外部から Docker コンテナ内にアクセスするには、ポートフォワードの設定が必要になる。原理はシンプルなので、順を追って説明する。 そもそもポートフォワーディングとは Docker コンテナ内に置く Web サーバの設定 Docker コンテナの特定ポ…

CentOS の vi で日本語表示が文字化けするのを直す

Docker で centos:7 イメージを動かしている時に、vi で日本語が文字化けしていたので解消法を調べた。 vi に入って : set enc? と叩くと、エンコーディングが確認できる。自分の環境では encoding=latin1 と表示されていた。 もしenc?で「latin1」という値…

起動中の Docker コンテナに別ターミナルでアクセスする

あるターミナルから $ docker attach コマンドでコンテナに接続し、サーバプロセスを起動させた。すると、そのターミナルはサーバが起動しっぱなしになるので、他のコマンドを叩いたりできなくなってしまう。 そこで別のターミナルを開いて、再度 $ docker a…

Docker コンテナのライフサイクル : 「終了」と「破棄」は違う

以前の記事で、Docker コンテナについて、次のように書いた。 「$ docker run と $$ exit で起動と終了を繰り返すと、毎回変更が破棄されてしまう」 実は、この表現は正しくない。$$ exit による終了 = 即全てのデータが破棄される、というワケではなく、コ…

Docker コンテナとの共有ディレクトリを設定する

Docker で仮想環境を作ると、当然ながらホスト OS (Docker を立ち上げている大元の PC 環境) とは全く異なる環境が立ち上がる。しかし、 ホスト OS にあるデータを Docker コンテナに持ち込みたい Docker コンテナを破棄しても作業中のファイルは永続化した…

MacOS で Docker を始めてみる

これまで仮想環境というと VirtualBox (とそれを操作する Vagrant) を使ったことがあったが、今回 Docker に手を出してみた。 Enterprise Container Platform | Docker とりあえず MacOS High Sierra か MacOS Mojave 上に Docker をインストールし、適当に …