# Docker公式スクリプトをダウンロード
curl -fsSL https://get.docker.com -o docker-install.sh
# スクリプトを実行してインストール
sudo sh docker-install.sh
# インストール確認
docker --version
# ユーザーをdockerグループに追加
sudo usermod -aG docker $USER
# グループ情報を更新
newgrp docker
# ストレージ場所変更
sudo mkdir -p /mnt/Docker
# 設定ファイルを編集
sudo vi /etc/docker/daemon.json
{
"data-root": "/mnt/Docker"
}
# Dockerサービスを起動
sudo systemctl start docker
# 再度バージョン確認
docker info
コンテナ操作コマンド
# Nginxコンテナ起動
docker run --name my-nginx -d -p 80:80 nginx
# 実行中コンテナ一覧
docker ps
# 全コンテナ一覧
docker ps -a
# コンテナ停止
docker stop [CONTAINER_ID]
# コンテナ再起動
docker start [CONTAINER_ID]
# ロギング
docker logs -f [CONTAINER_ID]
# インタラクティブセッション
docker exec -it [CONTAINER_ID] sh
イメージ操作
# イメージ取得
docker pull ubuntu
# イメージ詳細情報
docker inspect [IMAGE_ID]
# イメージ削除
docker rmi [IMAGE_ID]
# イメージ保存
docker save ubuntu > ubuntu.tar
# イメージ復元
docker load < ubuntu.tar
Dockerfileによるビルド
# Dockerfile例
FROM ubuntu
RUN apt update && apt install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
# イメージビルド
docker build -t custom-nginx .
ファイル操作
# ファイルコピー(ホスト→コンテナ)
docker cp ./local.file [CONTAINER_ID]:/container/path/
# ファイルコピー(コンテナ→ホスト)
docker cp [CONTAINER_ID]:/container/file ./local/dir/
監視コマンド
# リアルタイムリソース監視
docker stats [CONTAINER_ID]
# 実行プロセス確認
docker top [CONTAINER_ID]
Dockerはソフトウェアのインストールと依存関係管理を簡素化するために設計されています。複雑なアプリケーションを導入する際、オペレーティングシステムやミドルウェア(MySQL、PostgreSQL、Python、Java、Node.jsなど)の特定バージョンが必要な場合が多く、環境構築に時間がかかります。
Dockerはこれらの課題を解決する仕組みを提供します。Dockerイメージは、オペレーティングシステムとすべての依存関係を含むパッケージとして、一貫した実行環境を提供します。Dockerfileによって、構築プロセスを宣言的に定義できます。
Dockerのワークフロー:
1. 必要な手順をDockerfileで定義
2. docker buildでイメージ作成
3. docker runでコンテナ化されたインスタンスを起動
Docker HubやQuay.ioなどのプラットフォームを通じて、安全な認定済みイメージを共有・配布できます。一度作成したDockerイメージは無限回利用可能で、複数のインスタンスを簡単に作成できます。
7月16日 01:22 投稿