目次
はじめに
NestJS x ionicAngularな環境のDockernize中です。
色々やってたら「あれ、これはどうだったっけ?」となるので自分用にメモ取っておきます。
では書いていきます。
Docker関連用語
Docker image
- Docker imageとは、Docker コンテナを構成するファイルシステムや、実行するアプリケーションや設定をまとめたもので、コンテナを作成するための利用されるテンプレートとなるもの
Docker container
- Docker containerとは、Docker imageを基に構成されたファイルシステムとアプリケーションが実行されている状態を意味する
Dockerfile内の記述
FROM
-
FROMは作成するDcokerイメージのベースとなるイメージを指定する。
-
また、FROM句で取得するDockerイメージはDocker Hubで公開されているものを取得しに行く
❇︎ Dockerfile内では一度しか記述できない
RUN
-
RUNはDockerイメージのビルド時にDockerコンテナ内で実行するコマンドを定義する。
-
RUNはDokerfile内で複数回記述可能。
COPY
- COPYはDokerを動作させているホストマシン上のファイルやディレクトリをDockerコンテナ内にコピーするための記述。
CMD
-
CMDはDockerコンテナとして実行する際に、コンテナ内で実行するプロセスを指定する。
-
CMDはコンテナ起動時の一度だけ実行される。
-
用法としてはRUNでアプリケーションの配置、CMDでアプリケーションそのものを動作させると考える
docker-compose.ymlの記述
コマンド一覧
コマンド | 意味 | |
---|---|---|
part2 | docker image build -t イメージ名[:タグ名] . |
カレントディレクトリにある Dockerfile でイメージ作成 |
docker run -p 4000:80 <コンテナ名> |
コンテナ の実行にあたり、ポート 4000 を 80 に割り当てる | |
docker run -d -p 4000:80 <コンテナ名 > |
上と同じで、デタッチド・モード | |
docker container ls |
全ての実行中コンテナを表示 | |
docker container ls -a |
停止中も含めて全てのコンテナを表示 | |
docker container stop <hash> |
指定したコンテナを丁寧に停止 | |
docker container kill <hash> |
指定したコンテナを強制シャットダウン | |
docker container rm <hash> |
マシン上から指定したコンテナを削除 | |
docker container rm $(docker container ls -a -q) |
全てのコンテナを削除 | |
docker image ls -a |
マシン上の全てのイメージを表示 | |
docker image rm <image id> |
マシン上の特定のイメージを削除 | |
docker image rm $(docker image ls -a -q) |
マシン上の全てのイメージを削除 | |
docker login |
CLI セッションで Docker の認証を行いログイン | |
docker tag <image> username/repository:tag |
DockerHubのレジストリにアップロードする |
|
docker push username/repository:tag |
タグ付けしたイメージを送信 | |
docker run username/repository:tag |
レジストリにあるイメージを実行 | |
part3 | docker stack ls |
スタックやアプリ一覧 |
docker stack deploy -c <composefile> <appname> |
特定の Compose ファイルを実行 | |
docker service ls |
アプリに関係ある実行中サービス一覧 | |
docker service ps <service> |
アプリに関係あるタスク一覧 | |
docker inspect <task or container> |
タスクまたはコンテナの調査 | |
docker container ls -q |
コンテナ ID の一覧 | |
docker stack rm <appname> |
アプリケーションの解体 | |
part4 | docker swarm init |
swarm mode を有効化し、現在のマシンを swarm マネージャにする |
docker swarm join |
他のマシンをワーカとして swarm に追加する |
❇︎ あくまで自分用のメモのため、いいナレッジを見つけたら、ここに書いていきます。また環境が整ったらまたそちらも別記事で書きます。