Dockerで使える小技集
Dockerを使っていて、「あーこれいいね」と思ったものを集めた
自分のメモを公開しました。
皆様のお役に立てたらいいねしていただけると嬉しいです。
よく使うオプション一覧
- -a 全ての
- -q IDのみの取得
- --filter フィルターの利用
- -f 強制削除(--force)
- -v 関連付けボリューム(--volumes)
Dockerの初期化
DockerにはFactory Reset(初期化)なるものがあり
これをすることで全てをまっさらにしてくれます。
全てを抹消しDockerそのものを再インストールします。
手順
Dockerアイコンをクリック > Preferences > Reset > Reset to factory defaults
タグの付いてないimageを削除する
タグのついていないDockerのimageの取得方法は以下の通り
$ docker images --filter "dangling=true"
合わせて削除をするのであれば
$ docker rmi -f $(docker images --filter "dangling=true" -q)
ちょっと長ったらしいですが…
$ docker rm -f $(docker ps -aq) & docker rmi -f $(docker images -qf "dangling=true") & docker system prune
なんかしてみるといいかもですね。
.bashrcなんかにaliasとして追加しておくのもありかもしれません
ちなみにprocessでも下記の通りでできます
$ docker rm -f $(docker ps -aq)
あれこれ一括で削除をする
- 停止中のコンテナ全て
- 紐ついていないVOLUME全て
- 紐ついていないネットワーク全て
- 紐ついていないイメージ全て
を一括で削除できるコマンドが
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
Are you sure you want to continue? [y/N]
これら消しちゃうけど本当に大丈夫?続けてもいい?
的な感じのメッセージが来るのでy
でokです
GUIでもいける!!!!
Dockerアイコンをクリック > Preferences > Reset > Remove all data
Railsコンテナを立ち上げてコンテナに入らずにコマンドを打つ!
$ docker-compose run {service} rake routes
とか
$ docker-compose run --rm app rake db:migrate
とか
$ docker-compose run --rm app rails generate controller user
ちなみにrun系のオプション一覧はこちらです
http://docs.docker.jp/compose/reference/run.html
コンテナ内のファイルをコピーする
$ docker cp {コンテナID} or {プロセス名} :{パス} ローカルの保存したい場所
$ docker cp b5e5bab3c242:/etc/httpd/conf/httpd.conf $HOME/Downloads/
もちろんコンテナ内へローカルからコピーも可能です
httpd.confの上書き
$ docker cp $HOME/Downloads/httpd.conf b5e5bab3c242:/etc/httpd/conf/httpd.conf