Docker操作まとめ
###コンテナをイメージから起動
docker run -i -t -d --name="[コンテナ名]" [イメージ名] /bin/bash
###コンテナをデータコンテナから起動
docker run -it --volumes-from [データコンテナ名] --name="[コンテナ名]" [イメージ名] /bin/bash
ポートフォワーディングを設定するパターン
VBoxManage controlvm "boot2docker-vm" natpf1 "rails,tcp,127.0.0.1,3000,,3000"
docker run -d -p 3000:3000 -i -t -v /Users/my/shared/dir:/docker webdev /bin/bash
ローカルの/Users/my/shared/dirとコンテナの/dockerを共有する ###コンテナの起動・停止
docker start [コンテナID or NAME]
docker stop [コンテナID or NAME]
docker stop `docker ps -a -q` #起動中のコンテナをすべて停止する
###コンテナの一覧
docker ps -a
-a で停止中のコンテナも表示
###コンテナの削除
docker rm [コンテナID or NAME]
docker rm `docker ps -a -q` #全コンテナを削除
###コンテナの名前
docker rename old_contena_name new_contena_name
###コンテナに接続
docker exec -u [ユーザ名] -it [コンテナ名] zsh -l
###使っていないデータボリュームの一括削除
docker volume rm $(docker volume ls -qf dangling=true)
docker commit [コンテナ名] [保存するイメージ名]
###コンテナのIPアドレスを確認
docker inspect --format '{{ .NetworkSettings.IPAddress }}' [コンテナ名]
###Docker イメージの一覧
docker images
###イメージの名前変更
docker tag [対象イメージ名:タグ] [変更後イメージ名:タグ]
###Docker イメージの削除 起動中のコンテナで使用しているイメージは削除できない
docker rmi [イメージ名]
docker rmi $(docker images | awk '/^<none>/ { print $3 }') #リポジトリが<none>のイメージをすべて削除
###イメージのビルド Dockerfileがあるディレクトリで
docker build -t devenv .
###Docker Machine 起動・停止
docker-machine start [マシン名]
docker-machine stop [マシン名]
###Docker Machine の一覧
docker-machine ls
###Docker Machine への接続 マシンに環境変数をセットしてシェルをマシンに接続
eval "$(docker-machine env [マシン名])"
###マシンのip
docker-machine ip [マシン名]
###Dockerhub でイメージを検索
docker search [イメージ名:タグ]
###Dockerhub からイメージをダウンロード
docker pull [イメージ名:タグ]