Flask

Ubuntu 22.04 に Docker CE と Compose v2 をインストールして Flask アプリをデプロイ

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

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


スポンサードリンク

Ubuntu 22.04 に Docker CE と Docker Compose v2 をインストールする手順

Ubuntu 22.04(コードネーム Jammy Jellyfish)は LTS 版として長期間のサポートが受けられます。その上でコンテナ基盤を構築したい場合、公式リポジトリから提供されている Docker Engine(docker‑ce)Compose プラグイン(docker-compose-plugin) を apt で導入するのが最も安全かつ推奨された方法です。本記事では、余計なアプリ構築手順に踏み込まず、Docker 本体と Compose v2 のインストール・基本設定・トラブルシューティングまでを網羅します。


1. 前提条件と準備

このセクションでは、インストール作業に入る前に確認すべき点と、必要なパッケージの概要を説明します。

  • 対象 OS:Ubuntu 22.04(64 ビット)
  • 権限sudo が使用できるユーザーで実行してください。
  • ネットワーク:公式リポジトリへ HTTPS でアクセスできる環境が必要です。

ポイント
公式リポジトリを利用すれば、Docker のセキュリティパッチや機能追加が自動的に apt のアップデート対象になります。手動でバイナリをダウンロードする方法と比べて保守性が格段に向上します。


2. Docker の公式リポジトリを登録する

2‑1. 必要なツールのインストール

Docker リポジトリを追加する際に必要となる基本的なパッケージです。ca-certificatescurl は HTTPS 通信、gnupg は GPG 鍵管理、lsb-release はディストリビューション情報取得に使用します。

2‑2. Docker の GPG 鍵を取得して保存

公式鍵はパッケージ改ざん防止の根幹です。取得した鍵は /usr/share/keyrings/docker-archive-keyring.gpg に格納し、以降の apt リポジトリ定義で参照します。

2‑3. apt 用リポジトリ情報を追加

/etc/apt/sources.list.d/docker.list に安定版(stable)チャンネルだけを登録します。アーキテクチャは自動取得し、鍵ファイルのパスも明示しています。

補足
$(lsb_release -cs) は現在の Ubuntu のコードネーム(jammy)を自動的に展開します。手入力ミスを防げるので必ずこの形で記述してください。


3. Docker Engine と Compose v2 プラグインのインストール

3‑1. パッケージリストの更新と本体インストール

リポジトリ登録後は再度パッケージ情報を取得し、Docker 本体・CLI・Containerd・Compose プラグインを一括で導入します。

3‑2. インストール結果の確認

以下のコマンドでバージョン情報とサービス状態が期待通りかチェックしてください。

ポイント
docker-compose-plugin が提供するのは Compose v2 のプラグイン形式です。従来の独立バイナリ docker-compose は不要になるため、混在した環境で起こりがちなパス競合を回避できます。


4. 基本的な利用例と動作確認

Docker が正しく機能するかどうかは、公式のテストイメージで簡単に確かめられます。ここでは最も軽量な hello-world イメージを実行し、コンテナ起動までの流れを示します。

期待される出力は以下のようになります(一部抜粋):

このメッセージが表示されたら、Docker Engine と Compose v2 のインストールは完了です。


5. インストール後の推奨設定

5‑1. 非 root ユーザーで Docker コマンドを実行できるようにする

sudo を毎回入力したくない場合は、利用者を docker グループに追加します。

注意
グループへの追加は権限昇格につながります。信頼できるユーザーだけに付与してください。

5‑2. デーモンの最小化設定(任意)

/etc/docker/daemon.json に以下を記載すると、不要なプロキシや内部通信が無効化され、攻撃対象が減ります。

設定後は Docker デーモンを再起動します。


6. よくあるトラブルと対処法

エラー例 主な原因 解決策
permission denied while trying to connect to the Docker daemon socket 現在のユーザーが docker グループに所属していない sudo usermod -aG docker $USER 後、再ログインまたは newgrp docker
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Docker デーモンが停止している sudo systemctl start docker で起動、systemctl status docker で状態確認
Error response from daemon: pull access denied for … リポジトリ名やタグの記述ミス、認証が必要なプライベートレジストリへのアクセス 正しいイメージ名・タグを指定し、プライベートレジストリの場合は docker login で認証
port is already allocated ホスト側で同一ポートが既に使用中 sudo lsof -i:PORT番号 で占有プロセスを確認し、別ポートへ変更またはプロセス停止

7. まとめ

  • 公式リポジトリの登録 → GPG 鍵取得・apt ソース追加
  • Docker Engine と Compose v2 のインストールdocker-ce, containerd.io, docker-compose-plugin を一括導入
  • 動作確認hello-world コンテナで正常起動を検証
  • 利用者権限の調整docker グループへの追加で非 root 実行を実現
  • 基本的なトラブルシューティング を押さえておけば、インストール失敗や初期設定ミスに迅速に対処可能

以上の手順を踏めば、Ubuntu 22.04 上に安全で最新の Docker 環境(Compose v2 対応)を構築できます。以降は公式ドキュメントや各種チュートリアルを参照しながら、コンテナ化したアプリケーションの開発・デプロイへとステップアップしてください。

スポンサードリンク

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


-Flask