---
# System prepended metadata

title: Dockerコマンド
tags: [material, Docker]

---

###### tags: `material` `Docker`

# Dockerコマンド

## イメージ関連
- イメージのダウンロード
```
docker pull [イメージ名]
```
- イメージの一覧表示
```
docker image ls
```
- イメージの詳細確認
```
docker image inspect
```
- イメージのタグ設定
```
docker image tag <元イメージ名> <DockerHubのユーザ名/イメージ名:タグ名>
```
- イメージの検索
```
docker search [オプション] <キーワード>
```
- イメージの削除
```
docker image rm [オプション] <イメージ名>
docker prune  [オプション] 
```
- DockerHubへのログイン
```
docker login [オプション] [サーバ]
```
- イメージのアップロード
```
docker image push <DockerHubのユーザ名/イメージ名:タグ名>
```
- DockerHubからのログアウト
```
docker logout [サーバ]
```

---

## コンテナの生成/起動/停止
- 作成
```
Docker container create
```
- 生成/起動
```
Docker container run [オプション] <イメージ名>[:タグ名] [引数]
--------
-a (--attache) : 標準入力/標準出力/標準エラー出力にアタッチ
-i (--interactive) : コンテナの標準入力を開く
-t (-tty)      : 端末デバイスを使う
```

使用例
```
docker container run -it --name "test1" centos /bin/cal
-----------
1.コンテナを生成・実行          ： docker conteiner run
2.コンソールに結果を出すオプション ： -it
3.コンテナの名前              ： --name "test1"
4.イメージ名                 : centos
5.コンテナで実行するコマンド      : /bin/cal
```

bashの実行
```
docker container run -it --name "test2" centos /bin/bash
------------
-u (--user) : ログインするユーザ名を指定できる

```
バックグラウンド実行
```
docker container run -d centos /bin/ping localhost
```
ネットワーク設定
```
docker container run -d -p 8080:80 nginx
```
- 稼働コンテナの一覧表示
```
docker container ls [オプション]
-------------
-a (--all)    : 全てのコンテナを出力 
-f (--filter) :　表示するコンテナのフィルタリング
--format      :　表示フォーマットを指定
```
- 稼働確認
```
docker container stats <コンテナID or コンテナ名>
```
- 起動
```
docker container start [オプション] <コンテナID or コンテナ名>
-------------
-a (--attche) : 標準出力/標準エラー出力を開く
```
- 停止
```
docker container stop [オプション] <コンテナID or コンテナ名>
```
- 再起動
```
docker container restart [オプション] <コンテナID or コンテナ名>
```
- 削除
```
docker container rm [オプション] <コンテナID or コンテナ名>
docker container prune
```
- 中断/再開
```
docker container pause <コンテナID or コンテナ名>
```

---

## Dockerネットワーク
- ネットワーク一覧
```
docker network ls [オプション]
-------------
-f (--filter=[]) : 出力をフィルタする
```
- ネットワーク作成
```
docker network create [オプション] <ネットワーク名>
```
- ネットワーク接続
```
docker network connect [オプション] <ネットワーク名> <コンテナ名>
docker network disconnect [オプション] <ネットワーク名> <コンテナ名>
```
- ネットワーク詳細確認
```
docker network inspect [オプション] <ネットワーク>
```
- ネットワーク削除
```
docker network rm [オプション] <ネットワーク>
```

---

## 稼働中のコンテナ操作
- 接続
```
docker container attche <コンテナ名>
-------------
切断方法
Ctrl+c : 切断後コンテナを停止する
Ctrl+p → Ctrl+q : 切断後にコンテナを停止しない
```
- プロセス実行
```
docker container exec [オプション] <コンテナ名> <実行コマンド> [引数]
```
- プロセス確認
```
docker container top <コンテナ名>
```
- ポート転送確認
```
docker container port <コンテナ名>
```
- 名前変更
```
docker container rename <変更前> <変更後>
```
- ファイルのコピー
```
docker container cp <コンテナ名：ファイルパス> <ホストのパス>
--------
コンテナからホスト
docker container cp webserver:/etc/nginx/nginx.conf ./nginx.conf
ホストからコンテナ
docker container cp ./test.html /usr/share/nginx/html/test.html
```

---

## イメージの作成
- コンテナからイメージ作成
```
docker container commit [オプション] <コンテナ名> [イメージ名:タグ名]
------------
-a (--author) : 作成者名を登録

```
- コンテナをtarファイル出力
```
docker container export <コンテナ名>
```
- tarファイルからイメージ作成
```
docker image import <tarファイル> - [イメージ名：タグ名]
```
- 保存
```
docker image save -o <ファイル名> [イメージ名]
-------------
-o : 保存するファイル名の指定
```
- 読み込み
```
docker image load -i <ファイル名>
```
- 不要なイメージ/コンテナを一括削除
```
docker system prune [オプション]
------
-a (--all) : 使用していないリソースを全て削除
-f (--force) : 強制的に削除
```