目次
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
すべてを表示することを意味し、-q
ID のみを表示することを意味します。
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
すべてを表示することを意味し、-q
ID のみを表示することを意味します。
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 は、イメージ ウェアハウスの場所を確認します。