記事は適宜更新します。
Dockerとは
Dockerとは、アプリケーションを実行する環境を仮想化し、複製しやすくするためのツールです。
通常、アプリケーションの実行には、アプリ別に実行可能な環境が異なり、コンピュータ別にその環境を構築しなければなりません。
例えば、クラウドWebサーバーの環境にはOS、Webサーバーソフトウェア、ランタイム/インタープリタ、その他ライブラリ/ソフトウェアなどが必要となるが、Dockerを使えば、これらのデータをあらかじめ設定してあるファイル(Dockerfile, Docker Compose)から呼び出して、環境構築の手順を簡略化することができる。
今回はそのDockerの基本操作についてまとめる
基本操作
コンテナ操作
全コンテナ一覧 | docker ps |
起動中コンテナ一覧 | docker ps -a |
コンテナ起動 | docker run<イメージ名>[:タグ名] |
コンテナ停止 | docker stop <CONRAINER ID> |
コンテナ強制停止 | docker kill <CONTAINER ID> |
コンテナ再起動 | docker restart <CONTAINER ID> |
ファイルコピー (→ホストからコンテナへ) | docker cp <FILE> <CONTAINER ID>:<PATH> |
ファイルコピー (→コンテナからホストへ) | docker cp <CONTAINER ID>:<FILEPATH> |
コンテナの詳細表示 | docker container inspect <CONTAINER ID> |
コンテナ削除 | docker rm <CONTAINER ID> |
コンテナイメージの操作
イメージの確認 | docker images |
イメージの削除 | docker rmi <IMAGE ID> |
イメージの履歴表示 | docker history <IMAGE ID> |
イメージのビルド | docker build -t <REPOSITRY[:TAG]> . |
メンテナンス操作
コンテナのログ表示 | docker logs <CONTAINER ID> |
コンテナのプロセス表示 | docker top <CONTAINER ID> |
レジストリ操作
Dockerイメージ検索 | docker search <イメージ名> |
Dockerイメージダウンロード | docker pull <イメージ名> |
Dockerイメージアップロード | docker push <レジストリの場所/リポジトリ名>[:バージョン] |
コンテナログ出力 | docker logs <CONTAINER ID> |
コンテナのネットワーク操作
ネットワークの作成 | docker network create –submit <サブネットマスク> <ネットワークの名前> |
ネットワークの一覧表示 | docker network ls |
ネットワークの削除 | docker network rm <ネットワークの名前> |
ネットワークにコンテナを接続 | docker network connect <ネットワークの名前> <CONTAINER ID> ordocker network connect –ip <IPアドレス> <ネットワークの名前> <CONTAINER ID> |
ネットワークからコンテナを切断 | docker network disconneci <ネットワーク名前> <CONTAINER ID> |
ネットワークの詳細表示 | docker network inspect <ネットワークの名前> |
未使用のネットワークを全て削除 | docker network prune |
コンテナのボリューム操作
ボリュームの作成 | docker volume create <ボリューム名> |
ボリュームの削除 | docker volume rm <ボリューム名> |
ボリュームの一覧表示 | docker volume ls |
未使用のボリュームを全て削除 | docker volume prune |
ボリュームの詳細表示 | docker volume inspect |
Dockerfileの作成
FROM
ベースとなるイメージを指定する。
# ベースとなるイメージを指定する
FROM ubuntu:latest
FROM命令で指定するイメージはDocker Hubや他のレジストリに公開されているものから指定することができる。
- 公式OSイメージ
- ubuntu
- devianなど
- 公式プログラミング言語イメージ
- python
- node
- 公式アプリケーション・サービスイメージ
- nginx
- redis
- mysqlなど
コメント