Docker チートシート
よく使用されるDockerコマンドのパラメータ
目次
ここに Docker cheat sheet があります。これは、インストールからコンテナの実行、クリーンアップまで、最も重要なコマンド および概念をカバーしています。
インストール
Ubuntu 上でのインストール
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Docker Compose のインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
一般的な Docker コマンド
バージョンとシステム情報
docker version # Docker CLI およびデーモンのバージョンを表示
docker system info # Docker 環境に関するデータを一覧表示
docker help # ヘルプインデックスを表示
docker <command> --help # 特定のコマンドのヘルプ情報を表示
ログインとログアウト
docker login # Docker Hub にログイン
docker logout # Docker Hub からログアウト
イメージ管理
イメージの一覧表示
docker images # すべてのイメージを一覧表示
docker images -a # 中間イメージを含むすべてのイメージを一覧表示
イメージのプル
docker pull <image-name:version> # Docker Hub からイメージをダウンロード
イメージのビルド
docker build -t <image-name> . # 現在のディレクトリの Dockerfile からイメージをビルド
docker build -f <Dockerfile-path> -t <image-name> . # 特定の Dockerfile からイメージをビルド
docker build --build-arg foo=bar . # ビルド引数付きでイメージをビルド
docker build --pull . # FROM 指令で参照されているイメージの最新バージョンをプル
docker build --quiet . # 出力を表示せずにイメージをビルド
イメージのタグ付けとプッシュ
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
イメージの削除
docker rmi <image-name> # 特定のイメージを削除
docker image prune # 使用されていないイメージを削除
docker image prune -a # すべての使用されていないイメージを削除
未使用のイメージの削除
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
イメージのアンタグ
docker rmi repository/image-name:tag
コンテナ管理
コンテナの実行
docker run -itd --name <container-name> <image-name> # デタッチドモードでコンテナを実行
docker run -it -p <host-port>:<docker-port> <image-name> # ポートマッピング付きでコンテナを実行
docker run -it --name <container-name> <image-name> # インタラクティブモードでコンテナを実行
コンテナの一覧表示
docker ps # 実行中のコンテナを一覧表示
docker ps -a # すべてのコンテナを一覧表示
docker ps -s # CPU およびメモリ使用量を含む実行中のコンテナを一覧表示
コンテナの起動、停止、再起動
docker start <container-name> # 停止中のコンテナを起動
docker stop <container-name> # 実行中のコンテナを停止
docker restart <container-name> # コンテナを再起動
コンテナの削除
docker rm <container-name> # 停止中のコンテナを削除
docker rm -f <container-name> # コンテナを強制的に削除
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # すべてのコンテナを削除
すべての停止中のコンテナの削除
docker container prune
コンテナへの接続
docker attach <container-name> # 実行中のコンテナに接続
docker exec -it <container-name> bash # 実行中のコンテナでコマンドをインタラクティブに実行
コンテナの検査
docker inspect <container-name> # コンテナを検査
docker logs <container-name> # コンテナのログを表示
docker port <container-name> # コンテナのポートマッピングを表示
ネットワーク管理
docker network ls # すべてのネットワークを一覧表示
docker network create <network-name> # 新しいネットワークを作成
docker network rm <network-name> # ネットワークを削除
ボリューム管理
docker volume ls # すべてのボリュームを一覧表示
docker volume create <volume-name> # 新しいボリュームを作成
docker volume rm <volume-name> # ボリュームを削除
docker run -v <host-path>:<container-path> <image-name> # ボリュームをマウント
Docker Compose
基本コマンド
docker-compose up # docker-compose.yml で定義されたサービスを起動
docker-compose up -d # デタッチドモードでサービスを起動
docker-compose down # サービスを停止および削除
docker-compose ps # 実行中のサービスを一覧表示
docker-compose logs # サービスのログを表示
docker-compose start # サービスを起動
docker-compose stop # サービスを停止
docker-compose pause # サービスを一時停止
docker-compose unpause # サービスの一時停止を解除
Dockerfile コマンド
Dockerfile からイメージをビルド
docker build -t <image-name> <Dockerfile-path> # Dockerfile からイメージをビルド
Dockerfile の例
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
セキュリティとシークレット
Docker シークレット
docker secret create <secret-name> <file> # シークレットを作成
docker secret ls # すべてのシークレットを一覧表示
docker secret rm <secret-name> # シークレットを削除
Docker セキュリティ
- Docker シークレットを使用して、敏感なデータを中央で管理し、コンテナに安全に送信してください。
- シークレットは、トランジット中および Docker スワーム内での保存時に暗号化されます。
クリーンアップ
使用されていないリソースの削除
docker system prune # 使用されていないデータ(イメージ、コンテナ、ネットワーク、ボリューム)を削除
docker image prune # 使用されていないイメージを削除
docker container prune # 使用されていないコンテナを削除
docker network prune # 使用されていないネットワークを削除
docker volume prune # 使用されていないボリュームを削除
未タグのイメージの削除
大きなコンパイルの後、docker images
コマンドからこのような画像が表示されることがあります:
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
上記は古く、互換性がないです。dangling=true
パラメータは非推奨です。代わりに使用してください:
docker system prune
これにより、以下の警告が表示されます:
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all dangling images
この警告に対して「Yes」を選択することもあります。
この cheat sheet は、Docker コンテナ、イメージ、ネットワーク、ボリュームなどを管理するために必要な基本的なコマンドと概念をカバーしています。より詳しい情報が必要な場合は、オンラインで利用可能な詳細なガイドやチュートリアルを参照してください。