しばらく前にシステムを再インストールしましたが、バックアップを取っていなかったので、コンピューター上の開発環境がすべて消えてしまいました。 Python 環境とデータベースのインストールを考えるのは頭の痛い作業ですし、インストール プロセス中にエラーが多数発生する可能性もあります。 現在、Docker を学習中です。これで現在の問題点が解決されるのではないでしょうか?また、今回だけでなく、将来的にも再インストールの心配はありません。Dockerfileとdocker-composeファイルさえあれば、どんな環境でもコマンド1つで簡単に実行できます。 以前は、Python 開発環境は virtualenv または Pipenv を使用してデプロイされていました。今回Dockerを使ってみて、Dockerの方が便利だということが分かりました。以下で詳しく紹介させていただきます。 Dockerファイル Python:3.6.8 から 環境変数 PYTHONUNBUFFERED 1 mkdir -p /code を実行 コピー ./requirements.txt /code WORKDIR /コード sed -i "s/archive.ubuntu./mirrors.aliyun./g" /etc/apt/sources.listを実行します。 sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list を実行します。 apt-get clean && apt-get -y update && \ を実行します。 apt-get -y で libsasl2-dev 、 python-dev 、 libldap2-dev 、 libssl-dev 、 libsnmp-dev をインストールします。 pip3 install --index-url https://mirrors.aliyun.com/pypi/simple/ --no-cache-dir -r requirements.txt を実行します。 コピー ./* /code/ Dockerfile を使用してイメージを作成し、Python バージョンは 3.6.8 で、ソース コードをコンテナー内の /code ディレクトリにコピーします。 docker-compose バージョン: '3' サービス: ウェブ: 建てる: コンテクスト: 。 dockerfile: Dockerファイル 画像: ウェブ コンテナ名: ウェブ ホスト名: web 再起動: 常に コマンド: python /code/manage.py runserver 0.0.0.0:8000 ボリューム: - .:/ウェブ ポート: - 「8000:8000」 依存: -MySQLについて マイスク: 画像: mysql コンテナ名: mysql ホスト名:mysql 再起動: 常に コマンド: --default-authentication-plugin=mysql_native_password --mysqlx=0 ポート: -3306:3306 ボリューム: - ./db:/var/lib/mysql 環境: -MYSQL_HOST=ローカルホスト -MYSQL_PORT=3306 -MYSQL_DATABASE=デバイス -MYSQL_USER=デバイス -MYSQL_パスワード=123456 -MYSQL_ROOT_PASSWORD=123456 docker-compose を使用してコンテナをオーケストレーションし、合計 2 つのサービスを開始します。Web サービスはバックグラウンドの Django サービスであり、mysql はデータベース サービスです。 注意すべき点は3つあります。
要件 ジャンゴ==2.2.11 mysqlクライアント==1.4.6 Django に必要な pip パッケージを起動します。Django のバージョンは少なくとも 2.0 である必要があります。そうでない場合はエラーが報告されます。 Djangoの設定 データベース = { 'デフォルト': { 'エンジン': 'django.db.backends.mysql', '名前': 'dev', 'ユーザー': 'dev', 'パスワード': '123456', 'ホスト': 'mysql', 'ポート': '3306' } } Django 設定ファイルでデータベース情報を設定します。内容は docker-compose の内容と一致している必要があります。 注意すべき点は、HOST を docker-compose のサービス名として設定する必要があることです。私の場合は mysql です。 localhost や 127.0.0.1 などの他の値に設定すると、エラーが報告されます。 Docker は起動時にローカル ネットワークを設定するため、mysql を対応するサービスのコンテナーに解決できますが、対応するサービスは localhost 上にありません。 走る ミラーを作成するには、次のコマンドを使用します。 $ docker-compose -f ./docker-compose.yml ビルド 前の手順をスキップして、次のコマンドを使用してサービスを直接開始することもできます。イメージがない場合は、最初にイメージが作成されてからサービスが開始されます。 $ docker-compose -f ./docker-compose.yml を起動します トラブルシューティング 展開プロセス中に、基本的に構成エラーによって発生する次のエラーが発生する可能性があります。このような場合は、設定をよく確認してください。記事と同じであれば問題ありません。
さらに難しい問題にも遭遇しました。
パスワードが間違って設定されていると思い、長い間確認しましたが、問題は見つかりませんでした。後でオンラインで説明を見つけたので、無視することにしました。
参考資料: http://fusionblender.net/django-and-mysql-8-using-docker/ Docker を使用して Django+MySQL8 開発環境をデプロイする方法についての記事はこれで終わりです。Django+MySQL8 の Docker デプロイに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
MySQL 5.x と MySQL 8.0.X のいくつかの違いapplication.proper...
登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...
次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...
layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...
目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...
この物語は、今日の予期せぬ発見から始まります。同社には複数のウェブサイトがある。友達リンクにはお互い...
目次1. JavaScript エンジンとは何ですか? 2. V8エンジン3. ランタイム環境4. ...
目次OAuth アプリの作成コードを取得するaccess_tokenを取得するユーザー情報を取得する...
123WORDPRESS.COM では、さまざまな環境での MYSQL の他のバージョンのインストー...
目次まとめ基本的な例モチベーションデザインの詳細コンパイルの詳細採用戦略練習するヒント適切なプロパテ...
これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...
PHPの仕組みまず、よく耳にするcgi、php-cgi、fastcgi、php-fpmの関係を理解し...
Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...
目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...
多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...