Dockerをコマンドラインから利用する際によく使うコマンドについてまとめた自分用のメモです。
DockerHubにログイン
docker login
アカウント名とパスワードを求められるので入力すると、ログインできます。
DockerHubからイメージをpull
Docker pull イメージ名
ホストにあるイメージの一覧を表示する
docker images
ホストにあるイメージを削除する
docker rmi イメージ名
イメージからコンテナを作る
docker run [オプション] イメージ名[:タグ|@ダイジェスト値] [コマンド] [引数...]
オプションとして有名なのは以下です。
オプション | 説明 | 例文 |
---|---|---|
-it | コンソールに結果を表示する(標準入出力) | docker run -it ubuntu bash |
--name | コンテナ名を指定する | docker run --name "my_ubuntu" ubuntu |
-d | 起動後にコンテナをデタッチされ、バックグラウンドでコンテナが実行される(このコマンドがついていない場合はコンテナをexit後に削除されるフォアグランドモードになる) | docker run -d ubuntu |
コンテナから出る場合はexit
で出ることができます。
コンテナの一覧を表示する
// アクティブなコンテナのみ
docker ps
// 全てのコンテナ
docker ps -a
コンテナを削除する
docker rm コンテナID
// 複数の場合はスペースを空けてIDを続けることでまとめて削除できる
docker rm コンテナID1 コンテナID2
// UP状態以外のコンテナを全て削除する場合は以下のコマンドを利用できる
docker system prune
コンテナを停止する
docker stop [オプション] コンテナID
コンテナを起動する
docker start [オプション] コンテナID
コンテナを再起動する
docker restart [オプション] コンテナID
コンテナに対してプロセスを実行する
docker exec -it コンテナID コマンド
コンテナからイメージを作る
docker commit [オプション] コンテナID イメージ名[:タグ名]
イメージ名を変更する
docker tag 元の名前 変更後の名前
dockerhubにpushする
この時、イメージ名とリポジトリの名前が一致していないとpushできないので注意です。
docker push イメージ名