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

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

関連記事

processingで重複しないランダムな数を配列で取得する

概要 みなさんこんにちはcandleです。今回はprocessingで重複しないランダムな数を配列で取得する関数を作成したいとおもいます。 前提 なし

Rails pluginを使ったgemの作り方[2](rails組み込み編)

概要 みなさんこんにちはcandleです。前回に引き続き、gemの作成をやっていきましょう。 今回はgemを作成したら、それをrailsプロジェクト上で読み込み、動作テストをするところをやります。 前 …

railsでsvgをviewに表示する

概要 みなさんこんにちはcandleです。 今回はrailsでsvgを出力します。 レスポンシブウェブデザインから始まり、最近ではwebでもsvgの使用が増えてきたような気がします。 手こずらずにsv …

ruby on rails4でtwitter bootstrap 3のgemを使用してscaffoldを作成する

概要 みなさんこんにちはcandleです。今回はrails4上でtwitterbootstrap3のgemを使ってscaffoldしてみたいと思います。 scaffoldとはご存知のようにいわゆるwe …

React開発環境構築コマンドcreate-react-appが便利すぎたのでまとめてみた

English 日本語 概要 みなさんこんにちはcandleです。 今回はcreate-react-appコマンドを使ってreactの開発環境の構築とhello worldあたりまでやってみたいと思い …


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