Docker は、開発者やシステム管理者がアプリケーションを軽量コンテナとして構築およびパッケージ化し、どこでも実行するためのオープン プラットフォームを提供するオープン ソース プロジェクトです。 Docker は、ソフトウェア コンテナー内のアプリケーションの展開を自動化します。 私たちは何をすべきでしょうか?
ステップ1 - Docker-ceをインストールする このチュートリアルでは、docker リポジトリから docker-ce コミュニティ エディションをインストールします。 docker-ce コミュニティ エディションと docker-compose (compose ファイルのバージョン 3 をサポート) をインストールします。 docker-ce をインストールする前に、apt コマンドを使用して必要な docker 依存関係をインストールします。 sudo apt インストール -y apt-トランスポート-https ca証明書 カール ソフトウェアプロパティ共通 次のコマンドを実行して、docker キーとリポジトリを追加します。 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key を追加 - sudo aptリポジトリを追加します "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) 安定した" Docker-ceをインストールする リポジトリを更新し、docker-ce をインストールします。 sudo aptアップデート sudo apt install -y docker-ce インストールが完了したら、docker サービスを開始し、システムの起動時に毎回起動するようにします。 systemctl ドッカーを起動する systemctl ドッカーを有効にする 次に、omar という名前の新しいユーザーを追加し、docker グループに追加します。 ユーザー追加 -m -s /bin/bash オマール ユーザーmod -a -G docker オマール Dockerを起動する omarユーザーとしてログインし、以下のようにdockerコマンドを実行します。 スオマール docker で hello-world を実行する Dockerからhello-worldメッセージが届くことを確認する Dockerのインストールを確認する Docker-ceのインストールが完了しました。 ステップ2 - Docker-composeをインストールする このチュートリアルでは、compose ファイルのバージョン 3 をサポートする最新の docker-compose を使用します。 docker-composeを手動でインストールします curl コマンドを使用して、docker-compose の最新バージョンを /usr/local/bin ディレクトリにダウンロードし、chmod コマンドを使用して実行権限を付与します。 次のコマンドを実行します。 sudo カール -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 次に、docker-compose のバージョンを確認します。 docker-composeの最新バージョンがインストールされていることを確認してください: 1.21 Docker-composeをインストールする Compose ファイルのバージョン 3 をサポートする最新バージョンの docker-compose がインストールされています。 ステップ3 - プロジェクト環境を構成する このステップでは、Python Django プロジェクト環境を構成します。新しいディレクトリ guide01 を作成し、それを Dockerfile、Django プロジェクト、nginx 構成ファイルなどのプロジェクト ファイルのメイン ディレクトリにします。 omar ユーザーにログインします。 新しいディレクトリ guide01 を作成し、そこに移動します。 mkdir -p ガイド01 CDガイド01/ 次に、guide01 ディレクトリに、project と config という 2 つの新しいディレクトリを作成します。 mkdir プロジェクト/ config/ 知らせ:
新しい requirements.txt ファイルを作成する 次に、vim コマンドを使用して、config ディレクトリに新しい requirements.txt ファイルを作成します。 vim config/要件.txt 次の設定を貼り付けます。 ジャンゴ==2.0.4 グニコーン==19.7.0 サイコップ2==2.7.4 保存して終了します。 Nginx仮想ホストファイルdjango.confを作成する mkdir -p config/nginx/ vim config/nginx/django.conf 次の設定を貼り付けます。 上流ウェブ{ ip_ハッシュ; サーバー web:8000; } #ポータル サーバー{ 位置 / { プロキシパス http://web/; } 8000を聴く; server_name ローカルホスト; 場所 /static { 自動インデックスオン; エイリアス /src/static/; } } 保存して終了します。 Dockerfileを作成する 次のコマンドを実行します。 次に、次の Dockerfile スクリプトを貼り付けます。 python:3.5-alpine より 環境変数 PYTHONUNBUFFERED 1 apkアップデートを実行&& apk に --virtual build-deps gcc python-dev musl-dev && を追加します apk postgresql-dev bash を追加 mkdir /configを実行します /config/requirements.txt /config/ を追加します。 pip install -r /config/requirements.txt を実行します。 mkdir /src を実行 ワークディレクトリ /src 保存して終了します。 知らせ: 最小限の Linux ディストリビューションである Alpine Linux をベースに、Django プロジェクト用の Docker イメージを構築したいと考えています。私たちの Django プロジェクトは、Python 3.5 を搭載した Alpine Linux 上で実行され、PostgreSQL データベースをサポートするために postgresql-dev パッケージが追加されます。次に、python pip コマンドを使用して requirements.txt にリストされているすべての Python パッケージをインストールし、プロジェクト用の新しいディレクトリ /src を作成します。 Docker-compose スクリプトを作成する vim コマンドを使用して、guide01 ディレクトリに docker-compose.yml ファイルを作成します。 vim docker-compose.yml 次の構成コンテンツを貼り付けます。 バージョン: '3' サービス: デシベル: イメージ: postgres:10.3-alpine コンテナ名: postgres01 nginx: イメージ: nginx:1.13-alpine コンテナ名: nginx01 ポート: - 「8000:8000」 ボリューム: - ./プロジェクト:/src nginx の設定ファイルは次のようになります。 依存: - ウェブ ウェブ: 建てる: 。 コンテナ名: django01 コマンド: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py collectstatic --noinput && gunicorn hello_django.wsgi -b 0.0.0.0:8000" 依存: -db ボリューム: - ./プロジェクト:/src さらす: - 「8000」 再起動: 常に 保存して終了します。 知らせ: この docker-compose ファイル スクリプトを使用して、3 つのサービスを作成します。 alpine Linux バージョンの PostgreSQL を使用して db という名前のデータベース サービスを作成し、alpine Linux バージョンの Nginx を使用して再度 nginx サービスを作成し、Dockerfile から生成されたカスタム Docker イメージを使用して Python Django コンテナーを作成します。 プロジェクト環境を構成する Django プロジェクトの設定 Django プロジェクト ファイルをプロジェクト ディレクトリにコピーします。 cd ~/django cp -r * ~/guide01/プロジェクト/ プロジェクト ディレクトリに移動し、アプリケーション設定の settings.py を編集します。 cd ~/guide01/project/ vim hello_django/settings.py 知らせ: 「hello_django」という名前のシンプルな Django アプリケーションをデプロイします。 ALLOW_HOSTS 行に、サービス名 web を追加します。 次に、データベース設定を変更します。PostgreSQL データベースを使用して、デフォルトのユーザー名とパスワードで db というサービスを実行します。 データベース = { 'デフォルト': { 'エンジン': 'django.db.backends.postgresql_psycopg2', '名前': 'postgres', 'ユーザー': 'postgres', 'ホスト': 'db', 「ポート」: 5432, } } STATIC_ROOT 構成ディレクトリについては、ファイルの末尾にこの行を追加します。 保存して終了します。 Django プロジェクトの設定 これで、Docker コンテナで Django プロジェクトをビルドして実行する準備が整いました。 ステップ4 - Dockerイメージをビルドして実行する このステップでは、guide01 ディレクトリの設定を使用して、Django プロジェクト用の Docker イメージを構築します。 guide01ディレクトリに入ります。 Dockerイメージを実行する docker-compose スクリプト内のすべてのサービスを開始します。 Docker が Python イメージをビルドし、nginx および postgresql の Docker イメージをダウンロードするまで数分待ちます。 docker-composeを使用してイメージをビルドする 完了したら、次のコマンドを使用して実行中のコンテナを確認し、システム上の Docker イメージを一覧表示します。 docker-compose ps docker-compose イメージ これで、システム上で 3 つのコンテナーが実行され、以下に示すように Docker イメージがリストされます。 docke-compose ps コマンド Python Django アプリケーションは現在、docker コンテナ内で実行されており、それを提供するための docker イメージが作成されています。 ステップ5 - テスト Web ブラウザを開き、ポート 8000 のサーバー アドレスを入力します。私の場合は http://ovh01:8000/ です。 これで、デフォルトの Django ホームページが表示されます。 デフォルトの Django プロジェクトのホームページ 次に、URL に /admin パスを追加して管理ページをテストします。 http://ovh01:8000/admin/ Django 管理者ログイン ページが表示されます。 Django 管理 Python Django アプリケーションの Docker 化が正常に完了しました。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Linux インストール MySQL チュートリアル (バイナリ配布)
目次2. 詳しい説明2.1. asyncRoutesルーティングを追加する2.2. 新しいpermi...
Docker の作成Docker Compose は、管理対象コンテナをプロジェクト、サービス、コン...
目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...
目次依存関係をインストールするブーストをインストールMySQLをコンパイルしてインストールする構成依...
日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...
序文Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これ...
目次1. 概要2. Django プロジェクト3. Vueプロジェクト1. 概要プロジェクトで、ダウ...
この記事では主に Vue プロジェクトを紹介します。要素の導入を前提として、コンポーネントを 2 回...
長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...
この記事は、「1 分でインデックス作成スキルを学ぶ」という宿題から生まれました。注文ビジネス テーブ...
1. 解凍版のインストール(1)圧縮パッケージをダウンロードし、ディスクの場所に解凍します。圧縮パッ...
CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...
効果: <!doctypehtml> <html> <ヘッド> ...
<br />注:ウェブサイトの種類を示すものを除くすべてのテキストは、企業サイト用です。...
1. マルチヘッダーテーブルコードコードをコピーコードは次のとおりです。 <!DOCTYPE ...