Docker

Docker初心者向けコマンドガイド | 基本から実践まで

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Docker初心者のためのコマンドガイド

Dockerを初めて触れる開発者にとって、コマンドが「何を目的に使うのか」「どう実行するのか」は大きなハードルです。本記事では、Docker 初心者 コマンド チートシートとして、必要最低限のコマンドを手順書形式で解説します。特に docker runDockerfile基本構文 といった実践的な使い方をわかりやすく整理し、即座に使える知識をお届けします。


Dockerとは?

Dockerは、アプリケーションを「コンテナ」と呼ばれる仮想環境で動作させる仕組みです。この技術を使うことで、開発環境と本番環境の不一致(いわゆる「それが動くか?」問題)を解消できます。コンテナ化によってソフトウェアの依存関係が明確になり、誰もが同じ環境で動作確認できるようになります。


この記事で学べること

本記事では、以下の内容を順を追って解説します:

  • 実行中のコンテナやイメージを一覧表示するコマンド
  • ローカルからリポジトリにイメージを公開する方法
  • コンテナの起動・停止・削除に関する実践的な手順
  • Dockerfileでアプリケーション構築するための基本構文

Dockerの前提条件 (インストール手順)

Dockerを使うには、まずPCにDocker Engineをインストールしておく必要があります。以下に主要OSでのインストール手順を紹介します。

Windows / Mac (Docker Desktop)

  1. https://www.docker.com/products/docker-desktop から「Get Docker」ボタンをクリック
  2. インストーラーを実行し、ガイドに従ってインストール
  3. 完了後、Docker Desktopアプリを開き、起動確認 (ターミナルで docker --version を実行)

Linux (Ubuntu)

重要: Docker CLIを使用する場合は、sudoなしでコマンドを実行できるようにユーザーをdockerグループに追加してください: sudo usermod -aG docker $USER


基本操作をマスターする

コンテナやイメージの一覧を確認することは、Dockerを使う上で最初に習得すべきスキルです。以下に具体的なコマンドとその使い方を紹介します。

docker ps

実行中のコンテナの一覧を表示します

  • 理由: コンテナが正常に起動しているか、どのポートを使用しているかを確認できます。
  • :
    bash
    $ docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    abcdef123456 nginx:latest "nginx -g ..." 5 minutes ago Up 5 minutes 80/tcp webserver

  • 補足: 実行中でないコンテナを含む場合は docker ps -a を使用します。


イメージ管理のコマンド

Dockerは「イメージ」と呼ばれるテンプレートからコンテナを作成します。以下のコマンドでリポジトリとのやり取りを行います。

docker pull

公式リポジトリからイメージをダウンロードします

  • 理由: 必要なソフトウェア(例: nginx、MySQL)の最新版や特定バージョンを取得できます。
  • :
    bash
    $ docker pull nginx
    Using default tag: latest
    latest: Pulling from library/nginx
    abcdef123456: Pull complete
    ...
    Status: Downloaded newer image for nginx:latest

  • 補足: タグを指定するには docker pull nginx:1.20 のようにします。


docker push

ローカルに作成したイメージをリポジトリ(例: Docker Hub)に公開します

  • 理由: 自分で作ったアプリケーションやカスタム設定を他のユーザーと共有できます。
  • 手順:
  • リポジトリ登録: Docker Hubアカウントを作成し、リポジトリ名(例: myusername/myapp)を決める
  • イメージにタグを付ける:docker tag myapp myusername/myapp:latest
  • リポジトリにログイン:docker login (ID/パスワード入力)
  • 公開する:docker push myusername/myapp:latest

注意: プライベートリポジトリの場合は、認証情報を保存する ~/.docker/config.json にアクセス許可が必要です。


コンテナ操作の手順

コンテナはアプリケーションを動かすための「実行環境」です。以下に代表的なコマンドの使い方をシナリオ形式で説明します。

docker run

新しいコンテナを作成して起動します

  • 理由: ローカルで動作確認したり、Webサーバーを立ち上げたりする際に使います。
  • : Webサーバーを起動(ポート80をホストの8080にマッピング)
    bash
    $ docker run -d -p 8080:80 nginx
    abcdef123456

  • 補足: -d オプションでバックグラウンド実行、-p でポートマッピングを指定します。


docker stop

実行中のコンテナを停止します

  • 理由: コンテナが不要になったり、再構築が必要な場合に使います。
  • :
    bash
    $ docker stop abcdef123456
    abcdef123456

  • 補足: docker kill もありますが、停止を優しく行うには stop を推奨します。


docker rm

停止中のコンテナを削除します

  • 理由: 不要なコンテナをメモリ節約のために削除できます。
  • :
    bash
    $ docker rm abcdef123456
    abcdef123456

  • 補足: 実行中のコンテナは docker rm -f で強制削除可能です。


Dockerfileの基本構文とベストプラクティス

Dockerfileは、イメージを作成するためのレシピです。以下に必須となるコマンドを説明します。

FROM

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

  • 理由: アプリケーションが動く環境(例: UbuntuやNode.js)を定義します。
  • :
    Dockerfile
    FROM ubuntu:20.04

CMD

コンテナ起動時のデフォルトコマンドを指定します

  • 理由: docker run で実行されたときに自動で呼ばれるコマンドです。
  • :
    Dockerfile
    CMD ["nginx", "-g", "daemon off;"]

COPY

ローカルのファイルをイメージにコピーします

  • 理由: アプリケーションのコードや設定ファイルをコンテナ内へ配置します。
  • :
    Dockerfile
    COPY . /app

注意: docker build では . (カレントディレクトリ) を指定した場合、.dockerignore ファイルで無駄なファイルを除外する必要があります。


docker commit の使用に関する注意事項

docker commit は「起動中のコンテナの状態をイメージに保存」しますが、以下のような問題があります。

問題点 説明
非可再現性 手動で行った変更が記録されず、他の開発者が同じ環境を作成できない
メンテナンス困難 コンテナの状態を追跡しにくい (ロールバックやバージョン管理が難しい)

推奨される代替案: Dockerfileを使う


実践!即戦力になるコマンド集

実際の業務では、Dockerfileからイメージを作成したり、コンテナの状態を保存したりする必要があるケースが多々あります。以下に具体的な手順を解説します。

docker build

Dockerfileに基づいてイメージを作成します

  • 理由: カスタム設定やアプリケーションをビルドするために使います。
  • : . はカレントディレクトリのDockerfileを使用することを意味します。
    bash
    $ docker build -t myapp .
    Sending build context to Docker daemon ...
    Step 1/3 : FROM ubuntu:20.04
    ---> abcdef123456
    ...
    Successfully built abcdef123456

docker commit

起動中のコンテナの状態をイメージに保存します

  • 理由: コンテナ内で手動で行った変更を永続化するときに使います。
  • : webserverという名前のコンテナをイメージに変換
    bash
    $ docker commit webserver myapp:latest
    abcdef123456

まとめ

本記事では、Docker初心者が即座に使えるコマンドを以下のように整理しました:

  • 基本操作: docker ps, docker imagesで状況確認
  • イメージ管理: docker pull, docker pushでリポジトリとのやり取り
  • コンテナ操作: docker run, stop, rmでの起動・停止・削除
  • Dockerfile構文: FROM, CMD, COPYでアプリケーションの準備
  • 実践コマンド: docker build, commitでイメージ作成

記事のコマンドをコピーして早速Dockerで実践! これらのコマンドを活用することで、開発環境と本番環境の不一致や依存関係の問題が解決し、業務効率も向上します。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Docker