Dockerの基本操作

記事は適宜更新します。

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コンテナ操作(太字はよく使うもの)

コンテナイメージの操作

イメージの確認docker images
イメージの削除docker rmi <IMAGE ID>
イメージの履歴表示docker history <IMAGE ID>
イメージのビルドdocker build -t <REPOSITRY[:TAG]> .
Dockerコンテナイメージ操作(太字はよく使うもの)

メンテナンス操作

コンテナのログ表示docker logs <CONTAINER ID>
コンテナのプロセス表示docker top <CONTAINER ID>
Dockerメンテナンス操作(太字はよく使うもの)

レジストリ操作

Dockerイメージ検索docker search <イメージ名>
Dockerイメージダウンロードdocker pull <イメージ名>
Dockerイメージアップロードdocker push <レジストリの場所/リポジトリ名>[:バージョン]
コンテナログ出力docker logs <CONTAINER ID>
Dockerレジストリ操作(太字はよく使うもの)

コンテナのネットワーク操作

ネットワークの作成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コンテナネットワーク操作

コンテナのボリューム操作

ボリュームの作成docker volume create <ボリューム名>
ボリュームの削除docker volume rm <ボリューム名>
ボリュームの一覧表示docker volume ls
未使用のボリュームを全て削除docker volume prune
ボリュームの詳細表示docker volume inspect
Dockerコンテナvol.操作

Dockerfileの作成

FROM

ベースとなるイメージを指定する。

# ベースとなるイメージを指定する
FROM ubuntu:latest

FROM命令で指定するイメージはDocker Hubや他のレジストリに公開されているものから指定することができる。

  • 公式OSイメージ
    • ubuntu
    • devianなど
  • 公式プログラミング言語イメージ
    • python
    • node
  • 公式アプリケーション・サービスイメージ
    • nginx
    • redis
    • mysqlなど

コメント

タイトルとURLをコピーしました