Corredor

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

Docker

Docker イメージの脆弱性検査ができる「Trivy」を使ってみた

Docker イメージの脆弱性診断ができる、Trivy というツールがリリースされていたのでお試し。 CIで使えるコンテナの脆弱性スキャナ - Qiita 日本人が作成されたそうで、上の Qiita は作者本人による詳細な使い方が記載されている。GitHub リポジトリは以下。…

Wercker を使ってみた感想

Oracle Container Pipelines として取り込まれた CI・CD ツールである Wercker を使ってみたので紹介。 wercker 参考:Oracle Blogs 日本語のまとめ: [Cloud] New in Developer Cloud - Fn Support and Wercker Integration Wercker ってどんなもの?僕が感…

Windows GitBash で Python・Node.js・Docker が上手く動かない場合は winpty を設定する

Windows GitBash にて、$ python や $ node コマンドを叩いて、プロンプト上で簡単なコードを動かしてみたかったのだが、どうもプロンプトの応答が戻ってこない。 また、$ docker 関連のコマンドを使うと、以下のようなエラーメッセージが返ってきた。 $ doc…

Docker で Alpine Linux と apk (パッケージ管理ツール) を使ってみる

Alpine Linux という、Docker コンテナ向けの超軽量な Linux ディストリビューションを使ってみる。内部的には BusyBox を使って軽量化を実現している模様。 Alpine Linux - Wikipedia Docker を使って、Alpine Linux の最新版のイメージを落としてみる。 $ …

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 で起動と終了を繰り返すと、毎回変更が破棄されてしまう」 neos21.hatenablog.com 実は、この表現は正しくない。$$ exit による終了 = 即全てのデータが破棄される、…

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

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

MacOS で Docker を始めてみる

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