以下の内容はhttps://dk521123.hatenablog.com/entry/2022/01/20/000000より取得しました。


【Docker】Docker ~ 基本編 / docker container コマンド ~

■ はじめに

https://dk521123.hatenablog.com/entry/2020/04/13/000000

の続き。

今回は、docker container コマンドについて扱う。

目次

【0】docker container コマンド一覧
【1】docker container run / docker run
【2】docker container ps / docker ps
【3】docker container stop
【4】docker container kill
【5】docker container rm
【6】docker container start
【7】docker container attach
【8】docker container logs
【9】docker container exec (docker exec)
【10】docker container update
【11】docker container cp (docker cp)

【0】docker container コマンド一覧

Command Old command Explanation
docker container run docker run コンテナを起動
docker container stop docker stop コンテナ停止
docker container rm docker rm コンテナ削除
docker container start docker start 停止中のコンテナを起動
docker container attach docker attach フォアグラウンドで実行
docker container logs docker logs ログ表示
docker container ls (-a) docker ps (-a) コンテナ一覧表示
docker container cp docker cp コンテナへファイルをコピー

遷移図

                       +------------+
                       | Docker Hub |
                       +------------+
                             | ↑
                        pull | | push
                             ↓ |
+------------+  build  +--------------+ rmi
| Dockerfile | ------> | Docker Image | ------> Deleted
+------------+         +--------------+
                  ↙ ↗  create | ↑ commit
          run ↙ ↗ commit      ↓ |
+-----------+  stop   +-----------+ rm
| Container | ------> | Container | ------> Deleted
| (Running) | <------ | (Stopped) |
+-----------+   run   +-----------+

【1】docker container run / docker run

# コンテナを起動

## 新コマンド:docker container run
docker container run --name=[名前] <イメージ名> <コマンド>

 ## 旧コマンド:docker run
docker run --name=[名前] <イメージ名> <コマンド>

https://docs.docker.jp/engine/reference/commandline/container_run.html
https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/container_run/

コマンド例

#  ( コンテナ上で「echo "Hello World"」を実行)
sudo docker container run centos echo "Hello World"

オプション
https://docs.docker.jp/engine/reference/commandline/container_run.html#container-run-options
https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/container_run/#options

Options Explanations
--rm コンテナ終了時に、自動的に削除
--volume , -v バインドマウントするボリューム

【2】docker container ps / docker ps

* 動いているコンテナの確認

コマンド例

# コンテナを一覧表示
docker container ps
# docker ps ... 旧コマンド

# 停止しているコンテナの確認
docker container ps -a

# 実行完了後の最新3履歴を表示
docker container ps -a -n=3

【3】docker container stop

docker container stop centos

# 実行を停止
# sudo docker kill 27f0c47e97eb でも可能
sudo docker container stop 27f0c47e97eb

# 確認
sudo docker container ps

【4】docker container kill

* コンテナのプロセスを停止(kill)
* docker kill

【5】docker container rm

docker container rm centos

# 「sudo docker container ps -a」で確認するとなくなっているはず
sudo docker rm 3c38d46e852d

【6】docker container start

sudo docker container start 27f0c47e97eb

【7】docker container attach

# フォアグラウンドで実行
# バックグラウンド => フォアグラウンドで実行
sudo docker attach --sig-proxy=false 27f0c47e97eb

https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/container_attach/

【8】docker container logs

# ログ表示
sudo docker container logs 27f0c47e97eb

【9】docker container exec (docker exec)

* Dockerコンテナ内に入る
* 実行中のコンテナ内でコマンド実行
* 旧コマンド「docker exec」

構文

# コンテナIDは、docker psで調べておく
docker ps

# Dockerコンテナ内に入る
docker exec -it <container_id> bash
# exit で出る

# -i (--interactive)は、標準入力を開き続ける
# -t (--tty) は、コンテナ内で疑似的な仮想端末を割り当ててる

https://www.memotansu.jp/docker/591/

【10】docker container update

* コンテナの設定を更新

ホストOS起動時に自動で実行するように設定

* 「docker update --restart=always <コンテナ名>」で
 ホストOS起動時に自動で実行する
* 無効にするには「--restart=no」
* 以下の関連記事で使用した。

https://dk521123.hatenablog.com/entry/2019/12/14/010524

【11】docker container cp (docker cp)

* コンテナ<=>ホストへのファイルやディレクトリをコピー
* 旧コマンド「docker cp」

コマンド例

# コンテナIDは、docker psで調べておく
docker ps

# ホストからコンテナにコピー
# docker cp <ファイル元> <コンテナID>:<ファイル先>
docker cp ./file1.txt cont1:/tmp

# コンテナからホストにコピー
# docker cp <コンテナID>:<ファイル元> <ファイル先>
docker cp cont1:/tmp/file2.txt .

参考文献

https://qiita.com/zembutsu/items/6e1ad18f0d548ce6c266

関連記事

Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/02/25/000000
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Docker ~ 基本編 / レポジトリに関するコマンド ~
https://dk521123.hatenablog.com/entry/2023/01/21/000000
Docker ~ Docker 環境をクリーンにする ~
https://dk521123.hatenablog.com/entry/2024/07/25/230911
脆弱性エラー対応時に役立ったDockerコマンド
https://dk521123.hatenablog.com/entry/2024/02/03/020736
Docker ~ ファイルをコンテナにコピー ~
https://dk521123.hatenablog.com/entry/2022/04/27/000000
Docker ~ トラブルシュート方法 ~
https://dk521123.hatenablog.com/entry/2023/12/12/034018
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711




以上の内容はhttps://dk521123.hatenablog.com/entry/2022/01/20/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14