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 チュートリアル (バイナリ配布)
1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...
1. 公式ウェブサイトアドレス公式サイトではインストールの参考手順が紹介されています。公式サイトを見...
この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...
目次TypeScript環境の構築ステップ1: Taobaoミラーをダウンロードするステップ2: T...
目次概要実装保護エージェント仮想エージェント画像の遅延読み込みを実現する仮想プロキシ概要プロキシ パ...
AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...
始める前に、process.env.NODE_ENV にはデフォルトで開発と本番の 2 つの状態しか...
目次1. 環境整備1.1 オペレーティング システムのバージョン1.2 ディスク容量1.3 ファイア...
MySQL のデフォルトの動作モードは自動コミット モードです。つまり、明示的にトランザクションを開...
html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...
1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...
<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...
目次1. 繰り返し宣言1.1 変数1.2 しましょう1.3 定数2. 可変プロモーション2.1 変数...
目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...
開発の過程では、インスタンスの vm.$refs(this.$refs) を使用して、ref で登録...