shimgo
7/6/2016 - 2:15 PM

Docker操作まとめ

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 [イメージ名:タグ]