Docker

2017.12.31 study-daily

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

別プロセスで実行する方法

[Read More…]

2017.03.31 study-daily

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活用しようみたいな

[Read More…]

2017.03.29 study-daily

Hexo etc

勉強の進捗とHexoの改修

いろいろいっぱいいっぱいで諦めたことと、作業したこと。

スプリントの進捗

  • Mackerelのプラグイン試すとか諦めて、3月までの課題終了。
  • Docker学習、3月までの課題終了。Swarmとか諦めた。

時間に余裕ができたらまた集中して取り組む。

Hexoのレイアウト改修

TOPの画像がサイトタイトルを隠しちゃう感じだったのでCSSを変えるとかしようと考えてた。

行ったこと

  • 画像を変更。ブログテーマに幾分合ってそうなものに変えたつもり。
  • 画像をちょっと暗めにしたかったので少しCSS変更。

いい感じになった。

やらなかったこと

全体的な直しをしようか迷ったけど、要件を十分果たしていると判断して何もしないことにした。

ファイル名、URLパス、記事タイトルが同じじゃないといけないのがちょっとキモい。

そんな感じ。

[Read More…]

docker reinstall

Dockerを再インストールした

Dockerが全然触らないうちにどんどん進化していってしまったので、一旦アンインストールして、入れ直した。

環境はmacOS 10.11 えるかぴたん

やったこと

  1. docker-machine(boot2docker)の中身を全て削除
    • docker-machine rm defaultとか
  2. docker-machineを完全削除するらしいツールを使って削除実行
  3. Virtualboxを確認して環境が残っていないか確認
  4. .bash_profileに記述していた環境変数設定を削除
  5. homeディレクトリ直下の.dockerみたいな隠し領域も削除
  6. 公式から改めてdocker for mac をダウンロードしてインストール
  7. ついでに改めてKitematicもダウンロードしてアプリケーションディレクトリに配置

ハマったこと

単に自分が愚かなだけなんだけど、最初、docker-machineを削除した後にターミナルを再起動?しなかったため、Docker関係の環境変数が残ったま間の状態で新しく入れたDockerに対してdocker -vとかやってエラーを出してた。

ターミナルを再起動して解決

ここまで

今日はここまで。

今後、先送りしてたswarmモードとやらを試したりしたい。

[Read More…]