###### 🚩 コンテナ起動/終了コマンド

# コンテナ起動：`lamp up`
----------------------------------------------------------------------

### `lamp up`

オプション無しで実行すると、現在の `.lampman/config.js` を元に `.lampman/docker-compose.yml` が自動生成され、内部で `docker-compose` が実行されます。ただしこの時、フォアグラウンドモードではなくデーモンモードで機能しますので、ログ等は画面に流れません。  

機能的には以下のコマンドを実行するのとほぼ同等となります。
<pre class="cmd">
$ cd .lampman/
$ docker-compose up -d --force-recreate --project-name=(プロジェクト名)
</pre>

再起動したい場合も同様に `lamp up` と打てばOKです。ymlファイルが更新されコンテナが再生成されます。

もし、すでに起動中のコンテナと使用する公開ポートがぶつかっている場合、以下のような選択肢が出ますので、該当する処理を選んで起動してください。

<pre class="cmd">
  ╭───────────────────────────────────────────────────────────────────────╮
  │ 以下のコンテナが公開ポートを使用中のため起動できない可能性があります。 │
  ├╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶┤
  │ - hardcore_hoover [80, 3306]                                          │
  ╘═══════════════════════════════════════════════════════════════════════╛

? どうしますか。 » Ctrl+Cで終了
>  該当コンテナのみ強制終了してから起動
   全てのコンテナ/未ロックボリューム/ネットワークを強制削除してから起動（sweep -f 同様）
   このまま起動してみる
</pre>


### `lamp up -c`<br>`lamp up --kill-conflicted`

競合するポートのコンテナを強制終了してから起動を試みます。
`lamp up` した際に選択肢が出た場合の `該当コンテナのみ～` を選択するのと同じです。

### `lamp up -f`<br>`lamp up --sweep-force`

全てのコンテナ/未ロックボリューム/ネットワークを強制削除してから起動を試みます。
`lamp up` した際に選択肢が出た場合の `全てのコンテナ～` を選択するのと同じです。  
（ロックボリュームとは Lampman 独自の識別で `locked_` から始まる名称のボリュームのことです。後述）

### `lamp up -o <オプション文字列>`<br>`lamp up --docker-compose-options=<オプション文字列>`

`docker-compose` コマンドに渡すオプションを文字列で指定可能です。
ただし、ホストOS側の問題なのか、ハイフンの前にバックスラッシュを入れないとエラーになるようです。（Windowsで確認）

<pre class="cmd">
$ lamp up -o "-t 300"      ... NG
$ lamp up -o "\-t 300"     ... OK
</pre>

### `lamp up -D`

デーモンモードじゃなくフォアグラウンドモードで起動します。各コンテナが吐くログが直接確認できるようになりますので、うまくdockerが起動しない場合などに活用してください。
終了する場合は `ctrl+C` キーです。

### `lamp up -n`<br>`lamp up --no-update`

`.lampman/docker-compose.yml` を更新せずに起動させることが可能です。設定ファイルを書き換えてしまったものの、現行のymlのままで起動したい場合などにご指定ください。

### `lamp up -t`<br>`lamp up --thru-upped`

コンテナ起動後、 `.lampman/config.js` で設定した起動時コマンド `on_upped` を実行しません。

### `lamp up -r`<br>`lamp up --restore-volumes`

該当するボリュームも全て削除してから起動します。（未ロックボリュームは除く）
