Docker
Not Posted
2017年記事にしそこねたやったこと
- コマンドプロンプト(バッチファイル)
- コマンドプロンプトからPowershell実行
- シェルスクリプト
- AWS System Manager Run Command (sum)
- VagrantでSQL Server他DBもセットアップしたよ
- Nano Server試そうとした
- React Redux…etc
- Webpack
- Docker再入門とWP開発環境の作成
- WordPressテーマ開発用のベースを作成した
- AWS Lambda をPythonで
- AWS Lambda をNode.jsで
- CakePHP 3 tutorial 少しやった
- Vagrant でPHP開発環境作成
- Terraform試した
- Hugo用テーマを作成した
忙しいというよりは怠惰だったのと、Hugoのテーマを変えてからやろうと言い訳してるうちに忘れてしまった。
コマンドプロンプト(バッチファイル)
Windowsサーバーでバッチファイルで操作しようとした時に少しおぼえた。
例えばこんなこと。実行結果を変数に入れるのが面倒。
setlocal enabledelayedexpansion
for /f %%a in ('whoami') do @set watashi=%%a
echo %date% %time% !watashi! >> execute.log
別プロセスで実行する方法
jaws-ug container
JAWS-UG コンテナ支部 の勉強会に行ってきた
行ってきた。。
前佛さんのお話
Dockerは仕様でコンテナが技術っていう話。
開発環境と本番とかステージングの環境が違うっていう問題はコンテナで解決できますね。
Dockerのイメージ・レイヤの概念のおかげで?ベースイメージを共有したり、イメージをコピーするのにも差分レイヤだけコピーするので早いとか。
他のコンテナ技術との大きな違い
今までに同様の技術はあったが、Dockerが大きく違うのは、DockerHubの存在。
自分が作ったイメージはもちろん、他人が作ったものも共有(流用)できる。
docker イメージの Github版。
注意点
ストレージドライバについては要件を考慮して決めましょう的な話。
このあたりを読むと理解が深まるのでしょう。
ECS関連のアップデート
Windows コンテナ も試せる Windows Server 2016 の AMIもでてるよ。とか。
ECRについて
- フルマネージドDockerレジストリサービス
- イメージの容量に対して課金
- コンテナイメージは自動的に暗号化できる設定がある
- もちろんIAM使える
- ECRをCloudTrailで追跡可能
- CredentialHelper使ってね
業務上プライベートなDockerイメージを置く場所を作りたい場合なんかいいですね。
社内ビッグデータ基盤にバッチ用コンテナ環境を構築してみた
既存の触りたくないバッチ環境をそのままに、API Gateway、ECS、SQSなんかを活用してバッチ処理環境を改善した話。
既存のサーバーには何も追加したくない、が、curlは基本的に入っているので処理スタートをcurlから始める。
API Gateway を通じてリクエストを受け取り、ECS環境でバッチ処理、処理結果をSQSで通知みたいな。
ボリュームはできるだけ使わない。ログは全てCloudWatchLogsに流す。
すごい。
NTTとDocker
ECSで複数コンテナ構成な場合、SpotFleetを活用するとコストを抑えられますって話。
ECSを活用する上での勘所
データについて
- なるべくDocker Volumeを使わないで済む設計にする
- いつでもインスタンスを捨てられるようにする設計
- 永続DBデータはRDS,DynamoDBに、ファイルはS3に、ログはCloudWatchLogsを活用する
- awslogs ログドライバ便利です。積極的に使っていきましょう。
- URLパスの設計
- ALBを活用しましょう
- 関連サービスのエントリポイントとかは環境変数で渡しましょう。
- セッションの管理
- インスタンスにセッションを任せてしまうのは複数コンテナでサービスというのと相性悪い
- ElastiCache,Redis,Memcachedを活用しましょう。
環境構築について
書き洩らした。ECS-optimized AMIを使いましょうというのとSpotFleet活用しようみたいな
Hexo etc
勉強の進捗とHexoの改修
いろいろいっぱいいっぱいで諦めたことと、作業したこと。
スプリントの進捗
- Mackerelのプラグイン試すとか諦めて、3月までの課題終了。
- Docker学習、3月までの課題終了。Swarmとか諦めた。
時間に余裕ができたらまた集中して取り組む。
Hexoのレイアウト改修
TOPの画像がサイトタイトルを隠しちゃう感じだったのでCSSを変えるとかしようと考えてた。
行ったこと
- 画像を変更。ブログテーマに幾分合ってそうなものに変えたつもり。
- 画像をちょっと暗めにしたかったので少しCSS変更。
いい感じになった。
やらなかったこと
全体的な直しをしようか迷ったけど、要件を十分果たしていると判断して何もしないことにした。
ファイル名、URLパス、記事タイトルが同じじゃないといけないのがちょっとキモい。
そんな感じ。
docker reinstall
Dockerを再インストールした
Dockerが全然触らないうちにどんどん進化していってしまったので、一旦アンインストールして、入れ直した。
環境はmacOS 10.11 えるかぴたん
やったこと
- docker-machine(boot2docker)の中身を全て削除
docker-machine rm default
とか
- docker-machineを完全削除するらしいツールを使って削除実行
- Virtualboxを確認して環境が残っていないか確認
- .bash_profileに記述していた環境変数設定を削除
- homeディレクトリ直下の.dockerみたいな隠し領域も削除
- 公式から改めてdocker for mac をダウンロードしてインストール
- ついでに改めてKitematicもダウンロードしてアプリケーションディレクトリに配置
ハマったこと
単に自分が愚かなだけなんだけど、最初、docker-machineを削除した後にターミナルを再起動?しなかったため、Docker関係の環境変数が残ったま間の状態で新しく入れたDockerに対してdocker -v
とかやってエラーを出してた。
ターミナルを再起動して解決
ここまで
今日はここまで。
今後、先送りしてたswarmモードとやらを試したりしたい。