「Docker - コマンド」の版間の差分
(→概要) |
細 (文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{…) |
||
153行目: | 153行目: | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Web]][[カテゴリ:コンテナ]] | [[カテゴリ:Web]][[カテゴリ:コンテナ]] |
2024年10月14日 (月) 10:33時点における最新版
概要
Dockerコマンドは、Dockerエコシステムを操作するための主要なツールである。
Dockerコマンドを使用して、Dockerイメージの構築、コンテナの管理、ネットワークの設定等、Dockerの主要な操作を行うことができる。
Dockerコマンド
Dockerイメージの検索
Docker Hubからイメージを検索およびダウンロードすることもできる。
sudo docker search <イメージ名>
Dockerイメージのダウンロード
sudo docker pull <イメージ名>
Dockerイメージの一覧表示
sudo docker image ls または sudo docker image ls -a または sudo docker image ls --all
Dockerイメージの削除
<イメージ名>は上述の"イメージの一覧表示"で確認できる。
-f
オプションを付加することにより、使用中のイメージおよびコンテナであっても削除することができる。
sudo docker rmi -f <イメージ名>
Dockerイメージの実行
<イメージ名>はイメージの名前であり、<COMMAND>はDockerコンテナ上で実行するコマンドである。
sudo docker run <イメージ名> <COMMAND>
実行コマンドが、/bin/bashのような対話型(インタラクティブ)なコマンドの場合は、-it
オプションを指定する。
-i
オプションはコンテナの標準入力を有効化、-t
オプションはttyを有効化するためのオプションである。
sudo docker run –it <イメージ名> /bin/bash
detachedモード(バックグラウンドモード)で実行する場合は、–d
オプションを指定する。
sudo docker run -d dockersamples/static-site
実行中のDockerコンテナの一覧表示
sudo docker ps または sudo docker container ls
全てのDockerコンテナの一覧表示
sudo docker ps -a または sudo docker ps --all または sudo docker container ls –a または sudo docker container ls –-all
Dockerコンテナの削除
<CONTAINER ID>を指定する。
<CONTAINER ID>は上述の"コンテナの一覧表示"で確認できる。
sudo docker rm <CONTAINER ID> または sudo docker countainer rm <CONTAINER ID>
Dockerコンテナの停止
sudo docker stop <CONTAINER ID> sudo docker container stop <CONTAINER ID>
コンテナの停止と削除を同時に実施する。
sudo docker rm –f <CONTAINER ID> sudo docker container rm -f <CONTAINER ID>
Dockerコンテナに任意の名前を付ける
これは、<CONTAINER ID>の代わりに指定できる。
sudo docker run --name <任意のコンテナ名> <イメージ名>
ポートマッピング
run
コマンドにおいて、-p
オプションを使用すると、コンテナのポートをマッピングするホストのポートを指定できる。
以下の例では、ホストPCの12345番ポートをコンテナの80番ポートにマッピングしている。
sudo docker run -it -p 12345:80 <イメージ名> /bin/bash
-P
オプションを指定すると、コンテナが使うポートがランダムにホストのポートにマッピングされる。
sudo docker run -it -P <イメージ名>
どのポートにマッピングされたかは、sudo docker ps
コマンドまたはsudo docker port <CONTAINER ID>
で確認できる。
sudo docker port <CONTAINER ID> # 出力例 443/tcp -> 0.0.0.0:32770 80/tcp -> 0.0.0.0:32771
ディレクトリの共有
run
コマンドにおいて、-v
オプションまたは–-volume
オプションを指定することにより、
コンテナ内のボリュームとローカル環境のボリュームを接続することができる。
sudo docker run -d -p 12345:80 -v /home/user/htdocs:/var/www/html <イメージ名>
バックグラウンドでの実行
run
コマンドにおいて、-d
オプションまたは-–detach
を指定することにより、コンテナをバックグラウンドを実行することができる。
実行直後にコンテナIDが表示される。
sudo docker run -d <イメージ名>
DockerコンテナからDockerイメージを作成する
まず、Dockerコンテナを停止する。
sudo docker container stop <CONTAINER IDまたはコンテナ名>
次に、停止したDockerコンテナからDockerイメージを作成する。
sudo docker commit <CONTAINER IDまたはコンテナ名> <イメージのリポジトリ名>:<イメージのタグ名>
作成したDcockerイメージを確認する。
sudo docker images
作成したDockerイメージからDockerコンテナを作成する。
sudo docker run -it --name <CONTAINER IDまたはコンテナ名> <イメージのリポジトリ名>:<イメージのタグ名> /bin/bash
Dokerイメージのエクスポートおよびインポート
まず、Dockerコンテナを停止する。
sudo docker container stop <Dockerコンテナ名またはDockerコンテナのID名> # または sudo docker stop <Dockerコンテナ名またはDockerコンテナのID名>
必要であれば、Dockerコンテナでの変更をDockerイメージに反映する。
sudo docker commit <Dockerコンテナ名またはDockerコンテナのID名> <イメージのリポジトリ名>:<イメージのタグ名>
Dockerイメージに付随するレイヤの情報(メタ情報)等を含めたイメージを保存する。
sudo docker save <オプション> <イメージ名> > <保存するファイル名> # または sudo docker save <オプション> <イメージ名> -o <保存するファイル名> # 例. Dockerイメージのsample-imageをsample-image.tarとして保存する sudo docker save sample-image > sample-image.tar
エクスポートしたDockerイメージファイルをインポートする場合は、load
コマンドを使用する。
sudo docker load < <エクスポートしたDockerのファイル名> # 例. エクスポートしたファイルであるsample-image.tarファイルをインポートする sudo docker load < sample-image.tar
Dokerコンテナのエクスポートおよびインポート
まず、Dockerコンテナを停止する。
sudo docker container stop <コンテナ名またはコンテナID> # または sudo docker stop <コンテナ名またはコンテナID>
必要であれば、Dockerコンテナでの変更をDockerイメージに反映する。
sudo docker commit <Dockerコンテナ名またはDockerコンテナのID名> <イメージのリポジトリ名>:<イメージのタグ名>
コンテナのメタ情報等は保存されず、ファイルシステムのコピーがそのまま保存される。
sudo docker export <オプション> <コンテナ名またはコンテナID> > <保存するファイル名> # 例. Dockerコンテナのsample-containerをsample-container.tarとして保存する sudo docker export sample-container > sample-container.tar
エクスポートしたDockerコンテナファイルをインポートする場合は、import
コマンドを使用する。
sudo docker import <エクスポートしたコンテナファイル名> - <リポジトリ名>:<タグ名> # 例. エクスポートしたsample-container.tarファイルをインポートする sudo docker import < sample-container.tar - sample-container:latest # または cat sample-container.tar | sudo docker import - sample-container:latest