dockerコマンドメモ
dockerよくわからんけど、ecsにデプロイする環境を作ってもらって、どんどこデプロイしまくって結果、僕の環境にdockerのimageがどんどこ溜まっていって、ディスクフルになってしまったので、消すコマンド等々をメモ。
# 停止しているコンテナ一覧 docker ps -a # コンテナの削除 docker rm [コンテナID] # イメージの確認 docker images # イメージの削除 docker rmi [イメージID] docker rmi -f [イメージID] # 強制削除 # 古いイメージ一発で消す docker images | grep -e weeks -e months | awk '{print $3}' | xargs docker rmi
他
# ホストOSに入ってコンテナ一覧を見る docker ps # ホストOS上でゲストOSに対してコマンドを実行する sudo docker exec -it #{コンテナID} #{コマンド}
Elasticsearch クエリメモ
Elasticsearchをたまにしか使わなくて、使う時にはクエリをすっかり忘れているので、メモ書き。
ES_HOSTNAME=https://example.com:9200 ES_INDEX=logstash-yyyy.mm.dd ## インデックス一覧 curl -X GET "${ES_HOSTNAME}/_cat/indices?v" ## エイリアス一覧 curl -X GET "${ES_HOSTNAME}/_aliases?v" ## インデックスの削除 (logstash-yyyy.mm.dd はインデックス名) curl -XDELETE "${ES_HOSTNAME}/${ES_INDEX}" ## マッピング確認 curl -XGET "${ES_HOSTNAME}/${ES_INDEX}/_mapping?pretty" ## インデックスのレコード数 確認 curl -XGET "${ES_HOSTNAME}/_cat/count/${ES_INDEX}" ## 全件抽出 curl -XGET "${ES_HOSTNAME}/${ES_INDEX}/_search?pretty" -H 'Content-Type: application/json' -d' { "query": { "match_all": {} } } '
検索系
## 完全一致検索 (termを使う) curl -XGET "${ES_HOSTNAME}/${ES_INDEX}/_search?pretty" -d ' { "query": { "term": { "field_name" :"field_value" } } } ' ## いずれかが含まれる (termsを使う) curl -XGET "${ES_HOSTNAME}/${ES_INDEX}/_search?pretty" -d ' { "query": { "terms": { "objects.xxx_id": [1, 2, 3] } } } ' ## AND検索 (bool,mustでくくる) curl -XGET "${ES_HOSTNAME}/${ES_INDEX}/_search?pretty" -d ' { "query": { "bool": { "must": [ { "terms": { "objects.xxx_id": [1, 2, 3] } }, { "term": { "yyy_id": 100 } } ] } } } '
Moment.jsメモ
随時追加
// ロケールの設定 const moment = require('moment'); moment.locale('ja'); // タイムゾーンの設定 const moment = require('moment-timezone'); console.log(moment.tz); moment.tz.setDefault('Asia/Tokyo'); // 現在日時より前→マイナス。現在日時より後→プラス moment('2018/03/08 20:03:55', 'YYYY/MM/DD HH:mm:ss').diff(moment(), 'second'); // プラスならば現在日時より前。マイナスならば現在日時より後。 moment().diff(moment('2018/03/08 20:03:55', 'YYYY/MM/DD HH:mm:ss'), 'second'); // フォーマットチェック moment(string, 'YYYY/MM/DD HH:mm:ss').isValid(); // フォーマットして出力 moment(string, 'YYYY/MM/DD HH:mm:ss').format('YYYY年MM月DD日 HH時mm分ss秒');
シェルでファイル名・ディレクトリ名を一斉置換する
# ファイル find ./ -type f | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word", "new_word", $2); print $1 " " $2}' | xargs -n2 mv # ディレクトリ find ./ -type d | grep old_word | awk '{print $0 " " $0 }' | awk '{sub("old_word", "new_word", $2); print $1 " " $2}' | xargs -n2 mv
ffiのインストールで失敗する時
こんなエラー
An error occurred while installing ffi (1.9.21), and Bundler cannot continue. Make sure that `gem install ffi -v '1.9.21'` succeeds before bundling.
ライブラリがないっぽいので
sudo yum install ruby-devel libffi-devel
すればOKだった。
CarrierWaveで既にアップロード済のファイルに新しいバージョンをあてる
User.all.each do |user| if user.avatar_file.present? user.avatar_file.recreate_versions! user.save end end
Macのmiメモ
複数行を選択した状態で、commandキーを押しながら]キーを押すと、
選択した行がまとめてインデントできる。