Vue 基礎知識編 ~幸福のSPA!~
用語
データバインディング データと描画を同期させる。
コンポーネント 機能ごとに分離して開発できるようにする仕組み。
ディレクティブ (v-で始まる) データ用オブジェクトのプロパティ
フック あらかじめ決めたタイミングで処理を行わせること。
<div v-○○:○○></div>
参考にできるサイト
GitHub - vuejs/awesome-vue: 🎉 A curated list of awesome things related to Vue.js
Vue Curated
Element
Element - The world's most popular Vue UI framework
Onsen UI
Onsen UI 2: HTML5モバイルアプリを速く、美しく - Onsen UI
オプションの構成
1. el 紐付けるセレクタ
2. data アプリの使用データ
3. computed 関数でのデータ
4. cerated(ライフサイクルフック)
一連の処理(使用が限られている)
またDOMが構築前の実行のためgetElementByClassなどはアクセスできない。
5. methods メソッドで細かい実装。
Vue 環境構築編 ~最初だからこそ!~
更新
新しく更新しました。
こちらの方がいいかもしれないです。
taitoajiki.hatenablog.com
前提
OSに合わせてnpmのインストールが必要
vue-cliインストール
開発環境をセットアップなどをする公式のコマンドラインツール
npm install -g vue-cli
Webpack
Webpackはモジュールを束ねるツール。
vue init webpack プロジェクト名
実行
cd プロジェクト名
実行
npm run dev
公式
Kubernetes 基礎編 ~より高い世界へ~
Kubernetesは
Google社が開発したコンテナオーケストレーションシステム。
Compose/Stack/Swarm/を統合して、もっと高度に管理できる。
Nodeとは
Kubernetesクラスタ内でコンテナを配置するためのサーバで、
マシンのスペックによってコンテナの数は変わる。
Namespaceとは
Kubernetes内に作る仮想的なクラスタ。
開発者にそれぞれの Namespaceを用意して操作権限を設定する。
Podとは
コンテナの集合体。
Nodeに配置され、Podを一括りにしてデプロイする。
Serviceとは
Kubernetesクラスタ内でPodの集合体に対する経路を提供する。
対象のPodはServiceで定義するラベルセレクタによって決定する。
Docker DataVolume編 ~データは大事~
永続化データ
新しいバージョンのコンテナがデプロイされても以前のバージョンのコンテナで利用していた
ファイル・ディレクトリをそのまま継続して利用できるためにData Volumeが利用される。
Data Volume
コンテナ内のディレクトリをディスクに永続化するための仕組みで、 ホスト・コンテナ間でのディレクトリの共有・再利用が可能になる。 イメージの更新や、コンテナを破棄してもディスクに保持されるので ステートフル(状態保持)なアプリケーションを実行するために使用。
docker container run [options] -v ホスト側ディレクトリ:コンテナ側ディレクトリ リポジトリ名[:タグ] [コマンド] [コマンド引数]
Data Volumeコンテナ(*推奨)
Data Volumeコンテナはデータだけを持つためのコンテナでコンテナ間でディレクトリを共有する。
VolumeはDockerの管理領域であるホスト側の/var/lib/docker/volume/以下に配属されている。
DataVolumeコンテナによって操作がカプセル化される。
データのエクスポートとリストア
Data Volumeコンテナは、同一のDockerホスト内でのみ有効である。
データを他のDockerホストにもリストア(復旧)したい場合はデータを
ファイルとして取り出す必要がある。
手順
手順は、新たにコンテナを実行し、Data Volumeコンテナを指定する。
コンテナの中でtarコマンドでアーカイブを行い、出力先にマウントする。
別のホストにリストアする場合は、アーカイブを展開したData Volumeコンテナを作成する。
その他
docker image save はDockerイメージをファイルとしてアーカイブする機能のため
Data Volumeには適用されないので注意。
ただDockerは複数ホストをまたいだポータビリティには課題があるので、
Netshare pluginなどのVolume Pluginが開発されている。
Docker compose編 ~複数のコンテナ使用法!~
基礎
docker-composeとは
複数のコンテナ実行を一括で管理できる。
ファイルはyaml形式で設定。
記法
versionはファイルフォーマットのバージョン。
service要素下の定義はコンテナの名前の定義であり、さらにその一つ下の階層が実行するコンテナの定義。
image要素はdockerイメージ、portsではポートフォワーディングを指定している。
build属性はDockerfileが存在するディレクトリの相対パスを指定する。
volumesはホスト・コンテナ間でファイルがコピーされるのではなく、共有される仕組み。
コマンド
docker-compose up
で実行。
docker-compose down
でdocker-compose.ymlに定義しているコンテナを全て停止・削除できる。
docker-compose up -d --build -d
がビルドを省略して実行する。
--buildがDockerイメージのビルドをさせることができる。
Master/Slave
Master/Slaveとは
複数の機器を一つが制御する側、他が制御される側、という役割を行う方式。
制御する側を「マスター」、される側を「スレーブ」。
一言で言うと複数で管理しよう方式。
例:データベースを別のデータベースに複製して同期(レプリケーション)してデータのバックアップをしたりなど。
今後もっと詳しくやりたいと思います。
Master/Slaveの設定
そしてSlaveコンテナ内では鍵の取得や設定は出来るだけ行わずに、外から環境変数として渡す。
接続先の示し方
Composeではmasterに対してslaveのlinksを設定する。linksは他のservices群にある他のコンテナと通信できる。
そのためmasterからslaveの名前で解決できる。
Docker コンテナ編 ~基礎からの応用~
基礎
Dockerコンテナ dockerイメージから作成された、システムとアプリケーションが実行されている状態。
基本コマンド
Dockerコンテナ実行コマンド
docker container run -d イメージ名:タグ名
-dがバックグラウンドで実行。 出力される文字列は実行時のコンテナIDで操作でコンテナを特定するために利用する。
コンテナ一覧コマンド
docker container ls
Dockerコンテナ停止コマンド
docker container stop $(docker container ls --filter "ancestor=イメージ名" -q)
ポートフォワーディング
Dockerコンテナは1つの独立したマシンのように扱える。 そのためホストマシンのコンテナポートに紐付け、コンテナの外からきた通信をコンテナポートに転送することができるポートフォワーディングを使う。
docker container run -d -p ホスト側ポート番号:コンテナポート イメージ名:タグ名
-pオプションで指定できる。 またホスト側ポート番号は省略でき、その場合はホスト側で空いているポートが自動的に割り当てられる。
docker container run -d -p コンテナポート イメージ名:タグ名
ポート番号確認はdocker container ls で PORTSの:と->の間の番号になる。
Docker Image編 ~初心者はここから!~
基本
dockerイメージ
dockerコンテナの構成を設定したもので、コンテナの作成の基になる。
dockerコンテナ
dockerイメージから作成された、システムとアプリケーションが実行されている状態。
docker image pull イメージ名:タグ
でイメージを取得できる。
タグを指定しない場合はlatestとなる。
Dockerfile
Dockerfileはdocker独自のDSL(ドメイン固有言語)を使ってイメージの構成する。
FROMやRUNといったキーワードはインストラクション(命令)と呼ばれる。
FROMは作成するDockerイメージのベースとなるイメージを指定する。
イメージはDockerHubに登録されているものをダウンロードする。
RUNの引数にはコマンドを指定して、dockerイメージ作成時に実行する。
COPYはホストマシン上(自分のパソコンなど)のファイルやディレクトリをDockerコンテナ内にコピーするためのインストラクション。
CMDはDockerコンテナ起動時に実行されるプロセス。
コマンドのスペースで分けて、配列の形式で指定する。
コマンド
イメージのビルドコマンド
docker image build -t イメージ名:タグ名 Dockerfileの配置ディレクトリパス
-t は任意のイメージを指定する。
タグ名も指定できる。
省略時はlatest
-tがないとハッシュ値で管理するため、めんどくさい。
イメージ名にはexample/testなどと/の前に名前空間を指定し、衝突回避が良い。
docker image ls
でイメージを確認する。
その他
その他のインストラクション
LABEL イメージの作者名などに使用。
ENV Dockerfileを基に作成したコンテナ内での環境変数を指定する。
ARG 実行時にに情報を埋め込むために使用。実行時だけ使用できる一時的な環境変数。
ENTRYPOINT
ENTRYPOINTはイメージの作成側でコンテナを制限したい場合に活用できる。