一般的な Docker コマンドを確認する

1. Docker でよく使用されるコマンド

*注意: docker コマンドでは、イメージ/コンテナの「名前」は通常、指定したイメージ/コンテナを表すことができる「ID」と同等に使用され、この記事の説明で参照されます[镜像名称/ID](曖昧さがない場合は、ID を省略できます。たとえば、最初の 2 桁のみを入力します)。

イメージ名 (「イメージ名: バージョン番号」はバージョンを指定します。指定されていない場合は、最新バージョンです:latest):python/python:3.9.16
イメージ ID (64 ビットのハッシュ、通常は最初の 12 桁のみが表示されます。コンテナー ID も同様です):c65dadac8789
コンテナー名(これは通常、自分で選択します。イメージのバージョン番号はありません。コンテナをイメージにパッケージ化するときにバージョン番号を追加できます):ContainerName

1. ミラー: クエリ/プル/削除 (images/pull/rm)

イメージ (Docker イメージ) をクエリして、
システム内の Docker イメージ (インストール CD と同様、コピー可能なイメージ ファイル) を表示します。

docker images -a

クエリが完了すると、システム内の現在のイメージと情報 (イメージ名、イメージ ID、イメージ作成時間、その他の情報) が表示されます。

イメージをプルします (docker pull)

# docker pull [镜像名称/ID:tag]
docker pull python/python:3.9.16

イメージの削除 (Docker イメージ rm)

# docker image rm [镜像名称/ID]
docker image rm c65dadac8789
# docker rmi [镜像名称/ID]
docker rmi c65dadac8789

削除と追加を強制する必要があります-f。例:

docker rmi -f c65dadac8789

消去全てミラーリングとは-aすべてを表示することを意味し、-qID のみを表示することを意味します。

docker rmi -f $(docker images -aq)

2. コンテナ: クエリ/入力/作成/削除 (ps/exec/run/rm)

Docker イメージを使用して新しいコンテナーを開始します。

docker run -itd -u root --name="ContainerName" -v /data:/data python/python:3.9.16 /bin/bash

起動に成功すると、コンテナの 64 ビット SHA 文字列コードが表示されます。
コンテナー (docker ps) にクエリを実行して
、実行中のすべてのコンテナー (各コンテナーは開始システムに似ています) を表示します。さらに、実行中のコンテナーのクエリのみ-aを追加することなく、-a実行中のすべてのコンテナーと一時停止中のコンテナーをクエリします。

docker ps -a

コンテナーに入る (docker exec)

# docker exec -it [容器名称/ID] /bin/bash
docker exec -it e66b5694a3bd /bin/bash

*注意: ここでの最後のものは、コンテナ内の/bin/bashプログラムの場所です。一部の画像にはまたはしかありません。コンテナに入れない場合は、さらに試してみることができます。bash/bin/sh/bash

コンテナを終了 (exit)
し、コンテナを終了する必要がある場合に入力しますexit

# 直接退出  未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
exit
# 优雅退出  无论是否添加 -d 参数 执行此命令容器都不会被关闭
Ctrl + q

コンテナー (docker run) を作成し、
docker イメージを通じて新しいコンテナーを開始します。

docker run -itd -u root --name="ContainerName" -v /data:/data python/python:3.9.16 /bin/bash

起動に成功すると、コンテナの 64 ビット SHA 文字列コードが表示されます。

コンテナー (docker rm) を削除すると、
強制的に削除される可能性があります-f

# docker rm -f [容器名称/ID]
docker rm -f e66b5694a3bd

反復するすべて削除コンテナは、-aすべてを表示することを意味し、-qID のみを表示することを意味します。

docker rm -f $(docker ps -aq)

Docker rm はコンテナーの実行中に生成されたデータを削除しますが、docker kill は削除しません。

docker kill e66b5694a3bd

3. コンテナの一時停止/開始(停止/開始)

コンテナーは、起動状態 (稼働中) にある場合にのみ動作を開始できます。コンテナーは Docker の再起動後に一時停止されます。または、コンテナーは手動で一時停止/開始できます。
コンテナを一時停止します (Docker Stop)

# docker stop [容器名称/ID]
docker stop e66b5694a3bd

コンテナの起動(docker start)

# docker start [容器名称/ID]
docker start e66b5694a3bd

コンテナーを再起動します (docker restart)

# docker restart [容器名称/ID]
docker restart e66b5694a3bd

4. コンテナの実行ステータスを問い合わせる(検査)

コンテナーのすべてのステータスを表示 (docker Inspection)
コンテナー名、環境変数、実行中のコマンド、ホスト構成、ネットワーク構成、データボリューム構成などのコンテナーの構成情報を表示します。デフォルトではすべての情報が表示されます

# docker inspect [容器名称/ID]
docker inspect Example

特定の情報だけが必要な場合

docker inspect --format='{
    
    {.NetworkSettings.IPAddress}}' Example
> 172.18.0.2

docker inspect --format '{
    
    {.Name}} {
    
    {.State.Running}}' Example
> /Example true

# 或
docker inspect Example |grep IPAddress
>             "SecondaryIPAddresses": null,
>             "IPAddress": "",
>                     "IPAddress": "172.18.0.2",

コンテナのハードウェア使用率パラメータの表示 (docker stats)
コンテナの CPU、メモリ、ハードディスクなどの使用率の表示

# docker stats [容器名称/ID]
docker stats Example

コンテナ内のプロセス情報を表示する (docker top)

# docker top [容器名称/ID]
docker top Example
# 或
# docker exec [容器名称/ID] ps -ef
docker exec Example ps -ef

2. コンテナの起動(docker run、docker-composeの使用)

イメージからコンテナーを起動するには、docker run コマンドまたは docker-compose コマンドが必要です。

1.docker runの使用法と関連パラメータ

docker run -itd -u root --gpus='"device=0,1"' --name="ContainerName" -v /project/pytorch/data:/data pytorch_lightning:latest /bin/bash

パラメータの詳しい説明

パラメータ 意味
-私 コンテナーを対話モードで実行します。通常はコマンド インタープリターを使用して -t を指定します。
-t 疑似入力ターミナルをコンテナに再割り当てします。通常は -i とともに使用されます。
-d バックグラウンドでコンテナを実行し、コンテナ ID を返します。
--gpus='“デバイス=0,1”' コンテナが使用できるグラフィック カードを指定します (「参照」を参照)。すべてのグラフィック カードを使用できる場合は、パラメータ **--gpus all** を使用します。
-p 9922:22 コンテナーのポート 22 を、ssh にアクセスするためのポートであるホストのポート 9922 にマップします。
-v /プロジェクト/pytorch/data:/data コンテナ/データ ディレクトリをホスト/プロジェクト/pytorch/data ディレクトリにマウントします。このディレクトリがホストに存在しない場合は、自動的に作成されます。
--常に再起動します Docker サービスが開始されると、コンテナーが自動的に開始されます
--privileged=true コンテナにホストの root 権限を取得させます。コンテナが特権コンテナであるかどうかを指定します。特権コンテナにはすべてのアクセス許可があります。デフォルトは false です。
--name コンテナ名 コンテナ名を ContainerName に設定します
gitlab/gitlab-ce イメージの名前。ここにイメージ ID を記述することもできます。

2.Docker Composeの使用法とymlファイルのパラメータ

https://blog.csdn.net/pushiqiang/article/details/78682323
https://baijiahao.baidu.com/s?id=1659023590103934059&wfr=spider&for=pc
https://blog.csdn.net/weixin_51560103/article/詳細/121492568
https://www.runoob.com/docker/docker-compose.html
https://zhuanlan.zhihu.com/p/51055141

3. ゾーンイメージとコンテナストレージの検索/プル(検索/プル)

1. 必要なイメージを見つけます (docker-hub を使用)

Baidu でdocker Hubを検索するか、 Web サイトに直接アクセスしてください。時間を節約するため、ここには写真を載せません。

https://hub.docker.com/

Web サイトの左上に検索があり、他の人が作成した画像を検索して取得し、修正して使用することもできますし、独自のコンテナを作成してコミュニティにアップロードすることもできます。
ここでキーワードpytorch1.7
を検索すると、次の結果が表示されます。

azraelkuan/pytorch1.7.1-hvd-apex-py38-cuda11.0-cudnn8
freddierao/pytorch1.7-hrnetcls-mpi-apex
siaimes/pytorch1.7
...

最初のイメージには、pytorch バージョンだけでなく、サーバーの cuda バージョンと一致する python および cuda バージョンもマークされていることがわかります (サーバーの cuda バージョンは、イメージ内の cuda バージョン以上である必要があります)。引っ張って使えます。

docker はイメージのコマンドライン検索も提供します

docker search [镜像名称]
docker search --filter=STARS=9000 mysql 搜索 STARS >9000的 mysql 镜像

2.画像​​のプル(プル)

クリックして説明ページに入ると、左下隅に「概要」が表示され、右下隅に「Docker Pull Command」が表示されます。右側のプル コマンドのコピーをクリックして、サーバーからイメージをプルします。

# docker pull [镜像名称/ID]
docker pull siaimes/pytorch1.7

# 镜像名称后也可跟镜像的版本号,如最新版 :latest
docker pull siaimes/pytorch1.7:latest

アーキテクチャを指定します。
一部のイメージはマルチ アーキテクチャであり、docker-hub 上でマークされます ( など) x86 arm64
パラメータを追加して、--platform arm64必要なアーキテクチャ イメージを指定できます。

docker pull --platform arm64 siaimes/pytorch1.7

3. コンテナの保存とアップロード (コミット/保存/ロード)

コンテナをイメージとして保存する (docker commit)
実行するコンテナには、イメージに基づいて変更が加えられる場合があります。場合によっては、それを保存して、更新されたイメージにカプセル化する必要があります。このとき、commit コマンドを使用してビルドする必要があります新しいイメージの鏡

# docker commit -m="提交信息" -a="作者信息" [容器名称/ID] 提交后的镜像名:Tag
docker commit -m="a new image" -a="HZY" e66b5694a3bd SaveImage:1.0

画像を保存する(docker save)

# docker save [镜像名称/ID] -o 镜像保存的位置与名字
docker save SaveImage -o ./myimg.tar


ファイルをロードしてイメージに復元するには、イメージのロード (dockerload)

# docker load -i 镜像保存文件位置
docker load -i ./myimg.tar

4. docker のその他の操作ステートメント

コンテナファイルのコピー(docker cp)は、
コンテナが開いているかどうかに関係なくコピーできます。

#docker cp [容器名称/ID]:文件路径  要拷贝到外部的路径  |  要拷贝到外部的路径  [容器名称/ID]:文件路径
#从容器内 拷出
docker cp [容器名称/ID]:容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker cp 容器外路径  [容器名称/ID]:容器内路径

コンテナログ(dockerログ)を表示する

docker logs -f --tail=要查看末尾多少行(默认all) [容器名称/ID]

コンテナ名の変更(docker rename)

コンテナにクールで横暴な名前を付けますか?

docker rename [容器名称/ID] 新容器名

イメージ タグ (docker タグ) の変更
場合によっては、イメージを分類したり、バージョンの反復操作を実行したりする必要があります。たとえば、マイクロサービスの 1 つは docker イメージとしてマークされていますが、それを開発環境とアルファに区別したいとします。このとき、Tag を使用して画像にタグを追加して区別することができます; バージョンの反復ロジックは同じであり、異なるタグに従って区別されます。

# docker tag 源镜像名:tag 想要生成新的镜像名:新的tag
docker tag source_image:1.0 target_image:new_tag-1.1

不要なコンテナとイメージを削除する

#  删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'` 

#  删除名称或标签为none的镜像
docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`

コンテナなしで使用されているすべてのイメージをクリアします

なお、コンテナが一時停止している場合も含め、コンテナを使用せずにイメージを使用している(コンテナが正常に動作している)限り、本コマンドは削除されます。

docker system prune -a

Docker の全体的なディスク使用量を確認する

du -hs /var/lib/docker/ 

Docker の特定のディスク使用量を確認する

docker system df

5. Dockerの基本コマンド

1. dockerサービスの起動/停止/再起動(systemctl start/stop/restart docker)

Dockerサービスを開始する

systemctl start docker

Docker サービスを閉じる

systemctl stop docker

Dockerサービスを再起動する

systemctl restart docker

2. システムサービスの開始時に docker が自動的に開始されるように設定します。

systemctl enable docker

3. Docker の実行ステータス/バージョン情報を確認する

docker の実行ステータスを確認します。docker
が実行されている場合は、コマンドを入力した後に緑色のアクティブな状態が表示されます。

systemctl status docker

Docker のバージョン番号情報を表示する

docker version
docker info

6. 関連リソースのクエリ ステートメント

1.Dockerがイメージウェアハウスの場所を確認する

cd /var/lib/docker

Docker イメージのディレクトリを入力します。

2.イメージミラーの位置

画像フォルダーには画像コンテンツが保存されます

cd image/overlay2  # 有的是image/aufs  
cat repositories.json  # 查看镜像仓库内容

3.コンテナコンテナの場所

コンテナのコンテンツはコンテナフォルダに保存されます

cd containers 
ls -l  # 查看容器列表

4. Linux のクエリとプロセスの強制終了

クエリプロセス

ps -a

プロセスを強制終了します。プロセスを強制的に終了する
パラメータを追加します。-9

kill -9 [进程PID]

5.nvidia-smi はグラフィックス カードとリソースの使用状況をクエリします。

グラフィックカードのステータスを確認する

nvidia-smi

グラフィックスカードのステータスを監視する

watch -n 1 -d nvidia-smi

6.その他のコマンド

netstat
netstat はコンソール コマンドです。TCP/IP ネットワークを監視するための非常に便利なツールです。ルーティング テーブル、実際のネットワーク接続、各ネットワーク インターフェイス デバイスのステータス情報を表示できます。

netstat -untlp

7.ドッカーのインストール

1.docker のインストール
2.nvidiadocker
https://zhuanlan.zhihu.com/p/377537818?ivk_sa=1024320u
まだわからない場合は、後で更新します。

参考文献

一般的な docker コマンドの包括的なリスト
Docker が Gitlab サーバーを構築する (詳細版)
Docker コンテナの実行ステータスを確認する方法
docker の kill と rm の違いは何ですか

Docker は、特定のグラフィック カード/特定の GPU の使用を指定します。docker
と nvidia を起動します。
docker_docker コンテナー ボリュームの内部パスを確認します
。Docker は、イメージ ウェアハウスの場所を確認します。

DockerコンテナでのGPUの使用

おすすめ

転載: blog.csdn.net/aiaidexiaji/article/details/126448915