11月2日


docker runコマンドの使い方


Dockerを使用するときに最もよく触れるコマンドは、コンテナを実行するためのdocker runです.
docker runkermandは、かなりのオプションでコンテナを複数の方法で実行できます.
dockr run kermandの使用方法を見てみましょう.最も一般的なオプションが主です.

きほんけいしき

$ docker run (<옵션>) <이미지 식별자> (<명령어>) (<인자>)
ここで、画像識別子は必須であり、画像IDまたはリポジトリ(repository):タグ(tag)を使用することができる

-dオプション


多くの場合、容器はバックグラウンドで動作する必要があります.この場合、-d 옵션を使用できます.
-dオプションを使用して、コンテナは分離モードで実行され、実行結果はコンテナIDのみ出力されます
たとえば、python:3.8-Alpineイメージからpython-m httpを取得します.バックグラウンドでserverコマンドを実行する
$ docker run -d python:3.8-alpine python -m http.server
0b920d2f561437418b8fdc0e9bcfdd4c9d634983ded18ba35a4dbae012753a72
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
0e4fe552200f        python:3.8-alpine   "python -m http.serv…"   5 seconds ago       Up 4 seconds                            gifted_chaplygin
docker psコマンドを飛ばして、バックグラウンドで動いたばかりのコンテナを見ました.
-dオプションなしでこのコマンドを実行すると、端末がCTRL+Cで終了すると、コンテナは終了します.
$ docker run python:3.8-alpine python -m http.server
^CServing HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Keyboard interrupt received, exiting.
$

-itオプション

-iオプションと-tオプションが一緒に使用される場合が多く、両方のオプションは容器を閉じずに使用され、端末の入力を容器に伝達し続けるために使用される.
したがって、-itオプションは、特に容器のShellまたはCLIツールを使用する場合に非常に有用である.

-rmオプション

--rmオプションは、主にコンテナを一度に実行するために使用され、コンテナが閉じられると、コンテナに関連するリソース(ファイルシステム、ボリューム)が消去されます.

-nameオプション


Dockerコンテナを制御する場合、コンテナIDを使用すると読みにくくなったり、記憶しにくくなったりして不便になります
この場合、--nameオプションを使用してコンテナの名前を付け、その名前を使用してコンテナを識別できます.
次の例では、my-serverの名前でコンテナを実行し、docker killコマンドを使用してコンテナを終了するか、docker rmコマンドを使用してコンテナを削除する場合は、コンテナIDの代わりにコンテナ名を使用します.

-pオプション


-pオプションホストとコンテナ間のポート(ポート)配布(パブリッシュ)/バインド(バインド)
コンテナで待機中のポートに接続できるホスト(ホスト)コンピュータの設定
次のコマンドでは、コンテナから80ポートに転送されたHTTPサーバをホストから818ポートに接続できます.
818ポートはローカルホストのポート、80ポートはコンテナのポート
docker container run --name 컨테이너_이름 -p 818:80 httpd

-eオプション


-eオプションを使用してDockerコンテナの環境変数を設定します.
また、-eオプションを使用するとDockerfileのENV設定も上書きされます.

-vオプション


-vオプションホストとコンテナの間でボリュームを設定する
ホスト(ホスト)コンピュータのファイルシステムの特定のパスをコンテナのファイルシステムの特定のパスにマウントする(mount)

-wオプション


-wオプションDockerfileのWORKDIR設定を上書きする

--entrypointオプション


--entrypointオプションDockerfileのENTRYPOINT設定を上書きする
たとえば、python:3.8-alpineイメージからpython-versionを実行する場合は、次のコマンドを実行します.

docker cp-ホストコンテナ間でファイルをコピーする


1.ホスト->コンテナ

docker cp [host 파일경로] [container name]:[container 내부 경로]
ex
docker container cp ./ 컨테이너_이름:/usr/local/apache2/htdocs/

2.コンテナ->ホスト

docker cp [container name]:[container 내부 경로] [host 파일경로]

Dockerイメージの作成

docker container commit <컨테이너_이름> <REPOSITORY:TAG>
docker container commit 컨테이너_이름 my_pacman:1.0

Dockerfileが作成されると、docker buildコマンドを使用して画像を生成できます.
--tag(または-t)オプション新しく作成した画像名を指定
リポジトリ名の指定、タグの指定
最後の点(.)Dockerfileへのパスの指定
ファイル名がDockerfileでない場合は、--file(または-f)オプションを使用してファイル名を指定します.