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

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

関連記事

Rails pluginでengineを使ったgemの作り方[6](config編)

概要 みなさんこんにちはcandleです。今回は前回に引き続き、gemの作成をやっていきます。 gemのconfigとは恐らく一般的に以下の様な状況の時に使う事になると思います。 例えば、gemのプロ …

MAMPにCakePHPを導入して動かす

概要 みなさんこんにちはcandleです。今回はMAMPでCakePHPを動かす環境設定を行いましょう。 条件 MAMPがインストールされている CakePHPをダウンロードする 下のCakePHPの …

MAMPのPHPからSQLite3データベースにアクセスして値を取得する

概要 みなさんこんにちはcandleです。MAMPのSQLiteデータベースとテーブルを作成して、レコードも挿入した事なので、値を取得してみましょう。 前提 phpのバージョンが5.3以上である SQ …

railsのfluent-logger gemを使ってユーザーのアクセスをfluentdサーバに収集する

概要 みなさんこんにちはcandleです。前回からfluentd関連の記事を続けていますが、今回辺りから実用的な使い方を書いていきたいと思います。 fluentdと言えば、ビックデータで扱うようなデー …

React NativeでGoogle Chrome上でのデバッグ時に動作が遅くなる場合の対処

English 日本語 概要 みなさんこんにちはcandleです。 今回はReact NativeのデバッグでChromeを使うと シミュレーターの動作が遅くなってしまう問題を対処します。 とは言って …


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