# docker

## imageのinstall

ex) ubuntuのinstall

```
docker pull ubuntu:latest
```

```
docker pull [IMAGE名]
```

### containerの生成

ex) ubuntuのcontainer生成

```
docker run -it --name ubuntu -w /home/ubuntu ubuntu:latest
```

```
docker run [OPTION] [IMAGE名]
```

#### 引数一覧 (よく使うもののみ)

```
-it
```

コンテナ内での操作を可能にする

```
--name [container name]
```

コンテナの名前を指定する

```
-d
```

バックグラウンドで動作させる

```
-p [ホストのポート番号]:[コンテナのポート番号]
```

ホストのポートがコンテナのポートにマップされる

```
-w [ワーキングディレクトリのパス]
```

ワーキングディレクトリのパスの設定をする

```
--rm
```

終了時に中間コンテナーを自動的に削除する

### 詳細

{% embed url="<https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/run/>" %}

### コンテナの状態確認

起動中のコンテナの一覧表示

```
docker ps
```

全てのコンテナの一覧表示

```
docker ps -a
```

### コンテナの起動

```
docker start [CONTAINER ID or NAME]
```

{% embed url="<https://qiita.com/kooohei/items/0e788a2ce8c30f9dba53>" %}

### コンテナに入る

```
 docker exec -it [CONTAINER ID or NAME] /bin/bash 
```

{% embed url="<https://scrapbox.io/jiroshin-knowledge/Docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%B8%E3%81%AE%E5%85%A5%E3%82%8A%E6%96%B9>" %}

### コンテナに入る

```
 docker attach [CONTAINER ID or NAME]
```

{% embed url="<https://qiita.com/RyoMa_0923/items/9b5d2c4a97205692a560>" %}

## コンテナの削除

```
docker container rm [CONTAINER IDdocker container ls -a]
```

## コンテナの一覧

```bash
docker container ls -a
```

## 動いているコンテナの一覧

```bash
docker container ls
```

## イメージの削除

```bash
docker rmi [IMAGE ID or NAME]
```

## イメージの一覧

```bash
docker images
```

## Docker のライフサイクルの図

{% embed url="<https://qiita.com/Tanachu8/items/5e85c75818e499042bfe>" %}
