# 【Dockerコンテナ】再自動起動の強制停止方法

> Dockerコンテナの自動起動を防ぐ方法を紹介！restart policyを変更する手順やdocker-composeファイルでの設定を通じて不要なコンテナの自動起動を確実に停止する方法を解説。

- 公開日: 2025-12-05
- 著者: Matsu
- タグ: Docker
- URL: https://tech.anycloud.co.jp/articles/docker-container-stop

---

Dockerを起動したときに、前回動いていたコンテナなどが勝手に自動起動してしまうのを防ぐ方法の紹介です。

毎回Dockerを起動した時に、全く使ってないコンテナが自動起動するせいで、わざわざ停止して別のコンテナ起動するという非常に煩わしいことをしていたので、それを解消すべく方法をまとめました。

## Dockerコンテナが自動起動する原因

まず原因ですが、docker-composeファイルでrestart: alwaysやunless-stoppedが設定されているコンテナが自動起動の対象になっていて、これのせいでDockerを立ち上げるたびに自動で起動してしまいます。

`restart: no`にすることで自動起動を回避することができます。

```yaml
restart: no
```

（複数プロジェクトを扱う人にとっては、`restart: no`をデフォルトにしたいのですが、そう思うのは僕だけなのでしょうか）

## restart: noが効かなかった

自分の環境の場合、単に`restart: no`するだけでは自動起動されたままで謎の現象になっていました。

## コンテナのrestart policyを変更が確実

コンテナのrestart policyを変更することでそれ以降Dockerを起動するたびに自動起動されることが確実になくなります。

### コンテナの確認

まずは起動されているコンテナを確認します。

```shell
% docker ps -a
```

### restart policyを確認して原因の特定

以下コマンドでrestart policyを確認すると、以下のように設定の一覧が出力されます。

ここで`always`になっているものが今回の問題点です。

```shell
% docker inspect --format '{{.Name}} - {{.HostConfig.RestartPolicy.Name}}' $(docker ps -aq)

/sample-webapp-1 - no
/sample-redis-1 - no
/sample-db - always
/sample-db-1 - no
/sample-db-1 - no
```

### restartを停止する

以下コマンドでrestart が `always` や `unless-stopped` になっているものを `no` に変更します。

```shell
% docker update --restart=no sample-db
```

再度、restart policyを確認して`no`になっているか確認してください。

```shell
% docker inspect --format '{{.Name}} - {{.HostConfig.RestartPolicy.Name}}' $(docker ps -aq)

/sample-webapp-1 - no
/sample-redis-1 - no
/sample-db - no
/sample-db-1 - no
/sample-db-1 - no
```

### 【備考】restart policyをまとめてnoにするコマンド

以下コマンドで一気に設定をnoにできます。

```shell
% docker update --restart=no $(docker ps -aq)
```

## Dockerアプリを落として再起動してみる

Dockerアプリをキルして再起動してみると、、、

いつも自動起動されていたコンテナが起動しなくなりました。

## まとめ

Dockerコンテナの自動起動を停止する方法として、restart policyを変更する手順を紹介しました。

docker-composeファイルで`restart: no`を設定するだけでなく、既存のコンテナに対しても`docker update --restart=no`コマンドでrestart policyを変更することで、確実に自動起動を防ぐことができます。

これで、Dockerを起動するたびに不要なコンテナが立ち上がる煩わしさから解放されました。
