「インストール - Docker CE」の版間の差分

ナビゲーションに移動 検索に移動
434行目: 434行目:
*# Dockerデーモンの設定を有効化する。
*# Dockerデーモンの設定を有効化する。
*#: <code>sudo systemctl daemon-reload</code>
*#: <code>sudo systemctl daemon-reload</code>
<br><br>
== Dockerコマンド ==
==== Dockerイメージの検索 ====
[https://hub.docker.com/ Docker Hub]からイメージを検索およびダウンロードすることもできる。<br>
sudo docker search <イメージ名>
<br>
==== Dockerイメージのダウンロード ====
sudo docker pull <イメージ名>
<br>
==== Dockerイメージの一覧表示 ====
sudo docker image ls
または
sudo docker image ls -a  または  sudo docker image ls --all
<br>
==== Dockerイメージの削除 ====
<イメージ名>は上述の"イメージの一覧表示"で確認できる。<br>
<code>-f</code>オプションを付加することにより、使用中のイメージおよびコンテナであっても削除することができる。<br>
sudo docker rmi -f <イメージ名>
<br>
==== Dockerイメージの実行 ====
<イメージ名>はイメージの名前であり、<COMMAND>はDockerコンテナ上で実行するコマンドである。<br>
sudo docker run <イメージ名> <COMMAND>
<br>
実行コマンドが、/bin/bashのような対話型(インタラクティブ)なコマンドの場合は、<code>-it</code>オプションを指定する。<br>
<code>-i</code>オプションはコンテナの標準入力を有効化、<code>-t</code>オプションはttyを有効化するためのオプションである。<br>
sudo docker run –it <イメージ名> /bin/bash
<br>
detachedモード(バックグラウンドモード)で実行する場合は、<code>–d</code>オプションを指定する。<br>
sudo docker run -d dockersamples/static-site
<br>
==== 実行中のDockerコンテナの一覧表示 ====
sudo docker ps
または
sudo docker container ls
<br>
==== 全てのDockerコンテナの一覧表示 ====
sudo docker ps -a
または
sudo docker ps --all
または
sudo docker container ls –a
または
sudo docker container ls –-all
<br>
==== Dockerコンテナの削除 ====
<CONTAINER ID>を指定する。<br>
<CONTAINER ID>は上述の"コンテナの一覧表示"で確認できる。<br>
sudo docker rm <CONTAINER ID>
または
sudo docker countainer rm <CONTAINER ID>
<br>
==== Dockerコンテナの停止 ====
sudo docker stop <CONTAINER ID>
sudo docker container stop <CONTAINER ID>
<br>
コンテナの停止と削除を同時に実施する。<br>
sudo docker rm –f <CONTAINER ID>
sudo docker container rm -f <CONTAINER ID>
<br>
==== Dockerコンテナに任意の名前を付ける ====
これは、<CONTAINER ID>の代わりに指定できる。<br>
sudo docker run --name <任意のコンテナ名> <イメージ名>
<br>
==== ポートマッピング ====
<code>run</code>コマンドにおいて、<code>-p</code>オプションを使用すると、コンテナのポートをマッピングするホストのポートを指定できる。<br>
以下の例では、ホストPCの12345番ポートをコンテナの80番ポートにマッピングしている。<br>
sudo docker run -it -p 12345:80 <イメージ名> /bin/bash
<br>
<code>-P</code>オプションを指定すると、コンテナが使うポートがランダムにホストのポートにマッピングされる。<br>
sudo docker run -it -P <イメージ名>
<br>
どのポートにマッピングされたかは、<code>sudo docker ps</code>コマンドまたは<code>sudo docker port <CONTAINER ID></code>で確認できる。<br>
sudo docker port <CONTAINER ID>
# 出力例
443/tcp -> 0.0.0.0:32770
80/tcp -> 0.0.0.0:32771
<br>
==== ディレクトリの共有 ====
<code>run</code>コマンドにおいて、<code>-v</code>オプションまたは<code>–-volume</code>オプションを指定することにより、<br>
コンテナ内のボリュームとローカル環境のボリュームを接続することができる。<br>
sudo docker run -d -p 12345:80 -v /home/user/htdocs:/var/www/html <イメージ名>
<br>
==== バックグラウンドでの実行 ====
<code>run</code>コマンドにおいて、<code>-d</code>オプションまたは<code>-–detach</code>を指定することにより、コンテナをバックグラウンドを実行することができる。<br>
実行直後にコンテナIDが表示される。<br>
sudo docker run -d <イメージ名>
<br>
==== DockerコンテナからDockerイメージを作成する ====
まず、Dockerコンテナを停止する。<br>
sudo docker container stop <CONTAINER IDまたはコンテナ名>
<br>
次に、停止したDockerコンテナからDockerイメージを作成する。<br>
sudo docker commit <CONTAINER IDまたはコンテナ名> <イメージのリポジトリ名>:<イメージのタグ名>
<br>
作成したDcockerイメージを確認する。<br>
sudo docker images
<br>
作成したDockerイメージからDockerコンテナを作成する。<br>
sudo docker run -it --name <CONTAINER IDまたはコンテナ名> <イメージのリポジトリ名>:<イメージのタグ名> /bin/bash
<br>
==== Dokerイメージのエクスポートおよびインポート ====
まず、Dockerコンテナを停止する。<br>
sudo docker container stop <Dockerコンテナ名またはDockerコンテナのID名>
# または
sudo docker stop <Dockerコンテナ名またはDockerコンテナのID名>
<br>
必要であれば、Dockerコンテナでの変更をDockerイメージに反映する。<br>
sudo docker commit <Dockerコンテナ名またはDockerコンテナのID名> <イメージのリポジトリ名>:<イメージのタグ名>
<br>
Dockerイメージに付随するレイヤの情報(メタ情報)等を含めたイメージを保存する。<br>
sudo docker save <オプション> <イメージ名> > <保存するファイル名>
# または
sudo docker save <オプション> <イメージ名> -o <保存するファイル名>
# 例. Dockerイメージのsample-imageをsample-image.tarとして保存する
sudo docker save sample-image > sample-image.tar
<br>
エクスポートしたDockerイメージファイルをインポートする場合は、<code>load</code>コマンドを使用する。<br>
sudo docker load < <エクスポートしたDockerのファイル名>
# 例. エクスポートしたファイルであるsample-image.tarファイルをインポートする
sudo docker load < sample-image.tar
<br>
==== Dokerコンテナのエクスポートおよびインポート ====
まず、Dockerコンテナを停止する。<br>
sudo docker container stop <コンテナ名またはコンテナID>
# または
sudo docker stop <コンテナ名またはコンテナID>
<br>
必要であれば、Dockerコンテナでの変更をDockerイメージに反映する。<br>
sudo docker commit <Dockerコンテナ名またはDockerコンテナのID名> <イメージのリポジトリ名>:<イメージのタグ名>
<br>
コンテナのメタ情報等は保存されず、ファイルシステムのコピーがそのまま保存される。<br>
sudo docker export <オプション> <コンテナ名またはコンテナID> > <保存するファイル名>
# 例. Dockerコンテナのsample-containerをsample-container.tarとして保存する
sudo docker export sample-container > sample-container.tar
<br>
エクスポートしたDockerコンテナファイルをインポートする場合は、<code>import</code>コマンドを使用する。<br>
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
<br><br>
<br><br>


案内メニュー