joppot

コピペで絶対動く。説明を妥協しない

プログラミング

docker コマンドのショートカットをbash aliasで作成しました

投稿日:2017年5月1日 更新日:


概要

みなさんこんにちはcandleです。今回はdockerコマンドを簡単に操作するためのエイリアスを紹介します。もちろん、僕が便利かなと思って作成したものなので、コピペしてもらい自由により使いやすくしてください。


前提

bashで作業している。zchでもcshでもちょっとカスタマイズすれば使えると思います。
dockerを使っている。

エイリアス一覧

ホームディレクトリにある.bash_profileを開いて、以下を記述しましょう。

# stop the running containers. You would pass the running container ids.
# ex) dcstop 5c07dab43333 30jfeodd
function dcstop(){
  docker stop $@
}

# stop all containers
alias dcstopa='docker stop $(docker ps -a -q)'

# remove the stopped containers. You would pass the stopped container ids.
# ex) dcrm 5c07dab43333 30jfeodd999
function dcrm(){
  docker rm $@
}

# remove all stopped containers
alias dcrma='docker rm $(docker ps -qf "status=exited") $(docker ps -qf "status=created")'

# stop and remove all containers
alias dcdel='dcstopa && dcrma'

# show running containers
alias dcps='docker ps'

# show all containers
alias dcpsa='docker ps -a'

# show stopped containers
alias dcpss='docker ps -f "status=exited"'

# docker-compose up
alias dcup='docker-compose up -d'

# docker-compose down -v
alias dcdown='docker-compose down -v'

# show all docker images
alias dci='docker images'

# remove some images. You would pass the image ids.
# ex) dcrmi d266fc618ebc 37bf53c81f1c
function dcrmi(){
  docker rmi $@
}

# remove latest created images
function dcrmli(){
  dcrmi $(docker images -q | awk 'NR == 1 {print $0}')
}

# show all docker volulmes
alias dcvls='docker volume ls'

# remove some volumes. You would pass the volume names.
# ex) dcvrm php-fpm nginx 3452380
function dcvrm(){
  docker volume rm $@
}

# login to the running container. You would pass the running container id.
# ex) dcexec 5c07dab43333
function dcexec(){
  docker exec -t -i $1 /bin/bash
}

# show cotainer logs. You would pass the container id
# ex) dclogs 5c07dab43333
function dclogs(){
  docker logs $1
}

# watching cotainer logs. You would pass the container id
# ex) dctail 5c07dab43333
function dctail(){
  docker logs -f $1
}


まとめ

もしも、なにかこれが足りないよという意見などがありましたら、コメント欄、twitterで補足していただけると幸いです。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

memcachedサーバとruby on railsのdalliを使用してセッションを管理する

概要 みなさんこんにちはcandleです。今回はmemcachedサーバを利用してrailsのセッションを管理してみたいと思います。 一般にrailsでセッション管理をしていると、ブラウザのcooki …

railsのcarrierwaveとremotipartで画像のアップロードを非同期にしjsonを受け取る

概要 みなさんこんにちはcandleです。今回はremotipartとcarrierwaveを使って画像のアップロードをajax化したいと思います。 railsのフォームはremote設定をするだけで …

railsのroutesでhttpのGETやPOSTを指定してルーティングを表示する

概要 みんさんこんにちはcandleです。今回は少し頭をひねれば分かる事ですが、少し迷ったので、記事にまとめました。 railsですごいwebアプリケーションを作っていると、ルーティングが複雑きわまり …

react nativeのandroidでfailed to find Build Tools revision 23.0.1エラーが出る時の対処

概要 みなさんこんにちは、candleです。今回はreact nativeでrun-androidでbuildが失敗する時の対処です。 私の場合最新のandroid-sdkを入れたところ、以下のような …

react0.14 + gulp + express + babelでReactのチュートリアル環境構築をする

概要 みなさんこんにちはcandleです。今回は、react0.14のnodeの環境構築をします。 react0.14はまだまだ、開発段階にあり、しばしば仕様変更が行われています。 0.13の時では使 …


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー