#バージョン確認 $ docker version $ docker-compose version $ docker-machine version #停止中のコンテナ、使っていないイメージやネットワークをまとめて削除 $ docker system prune #仮想マシンの確認 $ docker-machine ls #仮想マシンを起動 $ docker-machine start #仮想マシンを停止 $ docker-machine stop #イメージの確認 $ docker images #イメージの検索 $ docker search centos #DockerHubからイメージをダウンロード $ docker pull centos:7 #イメージ削除 $ docker rmi centos:7 #不要なイメージをすべて削除 $ docker image prune #使用していないイメージをすべて削除 # docker image prune -a #コンテナの確認 $ docker ps #コンテナの確認(すべて) $ docker ps -a #コンテナ作成 #-d:バックグラウンド実行、-p:「ホスト:コンテナ」でポート転送、--name:コンテナ名を設定 $ docker run -d -p 8080:80 --name nginx nginx #コンテナ作成 #-it:ホストとコンテナの標準入出力をつなげる $ docker run -it -d -p 8080:80 --name centos centos:7 #コンテナ起動 $ docker start nginx #コンテナ停止 $ docker stop nginx #コンテナ削除 $ docker rm centos #コンテナに接続(ログイン) #新たにbashプロセスを作成して接続する $ docker exec -it centos bash #コンテナの接続(ログイン) #標準入出力に接続しているため、exitでログアウトするとコンテナ自体が停止する $ docker attach centos #コンテナからイメージを新たに作成 $ docker commit centos original-nginx #コンテナ起動と同時にログインし、ログアウトでコンテナ削除 #Dockerfile作成時など、コマンド実行とDockerfile記載を繰り返す際に便利 $ docker run -it -p 8080:80 --rm --name centos centos:7 bash #Dockerfileからイメージ作成(ビルド) #-t:イメージ名、.:Dockerfileのパス #イメージ名のタグを省略するとlatestとなる $ docker build -t original-nginx . #Dockerfileから作成したイメージでコンテナ起動 $ docker run -it -d -p 8080:80 --name build-nginx original-nginx #ネットワークを確認 $ docker network ls #ネットワークを作成 $ dockernetwork create test-network #Docker Composeビルド $ docker-compose build #Docker Composeビルド #--no-cache:キャッシュを使用しない、ビルド対象をappサービスのみとする $ docker-compose build app --no-cache #Docker Composeコンテナ作成・起動 #-d:バックグラウンド実行 $ docker-compose up -d #Docker Compose appサービスからコンテナ作成・起動 $ docker-compose up -d app #コンテナの起動ログを出力 $ docker-compose logs #Docker Compose appサービスから新たなコンテナを作成してコマンド実行 #コマンドを実行した回数だけコンテナが増えていく $ docker-compose run --rm app rails db:create #Docker Compose 既存のappコンテナを起動してコマンド実行 $ docker-compose exec app bash #Docker Compose サービス内のコンテナを起動 $ docker-compose start #Docker Compose サービス内のコンテナを停止 $ docker-compose stop #Docker Compose サービス内のコンテナを削除 $ docker-compose rm #Docker Compose appサービスのコンテナのみ削除 $ docker-compose rm app #Docker Composeサービス内のコンテナを停止し、ネットワークごとコンテナを削除 $ docker-compose down #Docker Composeサービス内のコンテナを停止し、ネットワークごとコンテナ・イメージを削除 $ docker-compose down --rmi all