前号では、Ruby on Rails アプリケーションをコンテナ化する方法について説明しました。今回は、コンテナーで日常的なタスクを実行する方法を説明します。
Rake タスクと Rails コマンドを実行する
Rake タスクの実行は簡単です。イメージをビルドしたら、docker-compose を使用してイメージ内でコマンドを実行できます。たとえば、アプリケーションのルートを表示したい場合:
$ docker-compose run web rails routes
同様に、データベースを作成する場合は、データを移行して設定します。
$ docker-compose run web rails db:create db:migrate db:seed
テスト スイートを実行したい場合は、テスト データベースを作成する必要があります:
$ docker-compose run web rails db:create db:migrate RAILS_ENV=test
次に、テスト スイートを実行します (デフォルトで rake が rake テストを実行すると仮定します):
$ docker-compose run web rake
ヒント: カスタム スクリプト/エイリアスを作成する
私は docker-compose run web rails ...
を 1 日に何百回も実行します。作業を簡単にするために、$PATH
内に次のスクリプトを入れます:
#!/bin/bash docker-compose run web rails "$@"
このスクリプトは、docker-compose.yml
ファイルに Web サービスがあることを前提としていることに注意してください。そうしないと機能しません。
他のタスクを実行する
これまでのところ、すべてのコマンドは非常にシンプルで簡単なので、Web サービスで実行するだけで済みます。では、既存のデータベースをコンテナーのデータベースにロードするなど、より難しいタスクの場合はどうするのでしょうか?これは、理解するのに少し時間がかかったタスクの 1 つでした。
PostgreSQL では、ダンプ ファイルの形式に応じて、これを行う 2 つの方法があります。以前は、--format=c
ダンプと通常のダンプに対処する必要がありました。
C 形式の PostgreSQL ダンプを含む latest.dump
ファイルがあり、それを (実行中の) コンテナーにロードしたいとします。まず、コンテナー ID を見つける必要があります。これを行うには、次のコマンドを実行します:
$ docker container ls
または
$ docker ps
コンテナー ID (この例では 80f8041db4b4
を使用します) を取得したら、次のコマンドを実行してコンテナーにダンプを復元できます:
$ docker exec -i 80f8041db4b4 pg_restore -d app_development -U postgres
通常のダンプ (latest.sql
など) がある場合は、次のコマンドを使用してそれを復元できます:
$ docker exec -i 80f8041db4b4 psql -d app_development -U postgres
docker-compose を使用している場合は、作業がより簡単になります。
$ docker-compose exec -T db pg_restore -d app_development -U postgres
すべてがコンテナ化されています!
私は Elastic Beanstalk をよく使用します。通常、Homebrew を使用してインストールしますが、Python、SQLite などの独自の依存関係が多数インストールされます。特に Python バージョンでは常に問題が発生するため、これをすべて自分のシステムに組み込むことは望ましくありません。代わりに、それをコンテナ化します:docker-awsebcli
。
次号もお楽しみに!
以上が開発中の Docker: エピソード 3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

Pythonオブジェクトのシリアル化と脱介入は、非自明のプログラムの重要な側面です。 Pythonファイルに何かを保存すると、構成ファイルを読み取る場合、またはHTTPリクエストに応答する場合、オブジェクトシリアル化と脱滑り化を行います。 ある意味では、シリアル化と脱派化は、世界で最も退屈なものです。これらすべての形式とプロトコルを気にするのは誰ですか? Pythonオブジェクトを維持またはストリーミングし、後で完全に取得したいと考えています。 これは、概念レベルで世界を見るのに最適な方法です。ただし、実用的なレベルでは、選択したシリアル化スキーム、形式、またはプロトコルは、プログラムの速度、セキュリティ、メンテナンスの自由、およびその他の側面を決定する場合があります。

Pythonの統計モジュールは、強力なデータ統計分析機能を提供して、生物統計やビジネス分析などのデータの全体的な特性を迅速に理解できるようにします。データポイントを1つずつ見る代わりに、平均や分散などの統計を見て、無視される可能性のある元のデータの傾向と機能を発見し、大きなデータセットをより簡単かつ効果的に比較してください。 このチュートリアルでは、平均を計算し、データセットの分散の程度を測定する方法を説明します。特に明記しない限り、このモジュールのすべての関数は、単に平均を合計するのではなく、平均()関数の計算をサポートします。 浮動小数点数も使用できます。 ランダムをインポートします インポート統計 fractiから

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

このチュートリアルは、単純なツリーナビゲーションを超えたDOM操作に焦点を当てた、美しいスープの以前の紹介に基づいています。 HTML構造を変更するための効率的な検索方法と技術を探ります。 1つの一般的なDOM検索方法はExです

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



