Dockerを使っていて、一度作成したコンテナを停止させた後に「もう一度動かしたい!」と思ったことはありませんか?
そんなとき、新しく作り直さなくてもOK。Dockerではすでに作成済みのコンテナを再起動することができます。
この記事では、作成済みのDockerコンテナを起動する方法をわかりやすく解説し、よくあるエラーや注意点もあわせて紹介します。
Docker初心者でも今日から使える内容になっています!
コンテナのライフサイクルとは?
Dockerコンテナには、以下のような状態(ステータス)があります:
- created(作成済み、未起動)
- running(実行中)
- exited(停止済み)
- paused(一時停止)
コンテナは一度停止しても、何度でも起動し直すことが可能です。
作成済みコンテナを確認する方法

● すべてのコンテナを確認:
docker ps -a
● 出力例:
CONTAINER ID IMAGE STATUS NAMES
e1f3a4cbd234 nginx Exited (0) 2 days ago my-nginx
fa3d9e2a34bc ubuntu Up 3 hours ubuntu-shell
この例では「my-nginx」が停止中(Exited)なので、再起動可能です。
停止中コンテナを起動するコマンド

● 起動コマンド:
docker start コンテナ名またはID
例:
docker start my-nginx
これで、「my-nginx」コンテナがバックグラウンドで再起動します。
● 起動後にすぐアタッチ(出力表示したい)場合:
docker start -a コンテナ名
● 起動してシェルに入る(例:Ubuntuコンテナ):
docker start -ai ubuntu-shell
コンテナの再起動(restart)との違い

● docker restartとは?
docker restart コンテナ名
これは「一度停止してすぐ再起動」するコマンドです。
すでに停止している場合は、docker start
との違いはありません。
ただし、実行中のコンテナにも使える点が特徴です。
起動時の注意点とトラブル対処

● 起動してもすぐ終了してしまう
原因:
- 元のコンテナが
--rm
オプション付きで作られていた可能性あり(起動後に自動削除される)。 - また、実行するコマンドが一瞬で終わるタイプ(
echo
など)だと、すぐ終了します。 - 何かしらのエラーが発生している
対策:docker logs コンテナ名
でエラーログ確認
● 起動してもログが表示されない
→ docker start
はデフォルトで非アタッチ(出力を表示しない)
→ -a
オプションでアタッチしましょう。
● 名前を忘れた場合
docker ps -
で一覧から名前やIDを確認すればOKです。
まとめ:コンテナの再利用で効率アップ!
Dockerでは、1度作ったコンテナは何度でも起動・停止できるのが大きな強みです。
覚えておきたい基本コマンド:
操作 | コマンド例 |
---|---|
停止中のコンテナを起動 | docker start my-container |
出力を表示しながら起動 | docker start -a my-container |
一度停止して再起動 | docker restart my-container |
コンテナ一覧確認 | docker ps -a |
これらの操作をマスターすれば、無駄な再構築やイメージの再取得を防ぎ、開発効率も大幅アップします!
コメント