Django+Hbase+Gitを使って新しいプロジェクトを始めたのでdockerを勉強し始めました 普通の開発環境を構築するだけでも時間がかかりそうなのでdockerを勉強しましたが、開発環境の構築方法が分かりません。 docker についてはまだ不明瞭です。
私たちのプロジェクト チームの考えは、全員がホストに docker をインストールしている限り、Pycharm を docker で直接使用して開発、コードの変更、Git 経由の同期を行うことができるというものです。最理想的情况是其他开发者连 Pycharm 都不用装
場合によっては、開発者はこれだけで済みます。 python と Pycharm をインストールし、 docker をインストールすると、ローカルの Pycharm で通常のデバッグとコードの実行が可能になります。 docker でそのような機能が実現できるかどうかはわかりませんが、アドバイスをお願いします。
仅有的幸福2017-05-16 13:19:27
まず第一に、docker で pycharm を実行することはできません。docker の各コンテナを独立したコンピューターとして扱う必要があります。聞きたいのですが、他の人が自分のコンピュータに pycharm をインストールしていて、あなたが同じ LAN 上にいる場合、その人の pycharm を使ってあなたのコンピュータ上の Python コードを編集できますか?
Docker は主に環境の分離とパッケージ化を処理します
環境の分離: 各 Docker コンテナは、単純にサンドボックスとして理解できます。コンテナにインストールされているさまざまなソフトウェアは、ホストの実際のソフトウェア環境に影響を与えません。同時に保守されている 10 個のプロジェクトがあるシナリオを想定します。ただし、問題は、これら 10 個のプロジェクトがそれぞれ異なる Python バージョンに依存していることです (プロジェクト 1 は python1.1 に依存し、プロジェクト 2 は python1.2 に依存し、プロジェクトは python1.2 に依存します)。 3 は python2 .1 に依存します...プロジェクト 10 は python3.3 に依存します)、docker を使用しない場合はどうすればよいでしょうか?それぞれのバージョンを 1 つずつコンピュータにインストールしますか?バージョン間の環境依存関係に矛盾はありますか?考えただけで頭が痛くなりませんか? Docker は完全に問題ありません。それぞれの環境は完全に独立しており、相互に影響を与えることはありません。
環境のパッケージ化: 100 人の開発チームがあるとします。開発環境には Windows、Linux (特定のバージョンは異なります)、Mac があります。それぞれのシステムにはさまざまなソフトウェア バージョンがインストールされています。このとき、プロジェクトを開発したいのであれば、開発環境を統一し、各種設定パラメータを統一し、Pythonのバージョンを統一し、各種拡張パックや拡張パックのバージョンを統一し、環境変数を統一することが最善です。このとき、それぞれに環境構築を任せると、ベテランなら3回、5回、2回ずつで済むかもしれませんが、経験の浅い新人の場合はこの環境が完成するまでに数日かかる場合があります。 。しかし、docker は単純です。1 人が dockerfile ファイルを作成し、さまざまな設定を記述し、それを開発チームのメンバー全員に配布するだけで、全員が docker build コマンドを実行するだけで環境構築とソフトウェアが実行されるシステムを完了できます。環境、構成パラメータ、拡張ライブラリ、依存関係はすべて同じです。プロジェクトが完了し、実際にオンラインになったら、この dockerfile を使用して、ワンクリックでオンライン ソフトウェア プロジェクトの実行環境を構築することもできます (または、ローカル開発中に使用されるコンテナーをイメージに直接パッケージ化してイメージを公開することもできます)。実行環境はローカルの開発環境と一致しており、異なる環境によって引き起こされるさまざまな問題を回避します。あなたの質問に関する限り、私の個人的な経験と組み合わせると、Django と Hbase は docker に配置でき (Django イメージには独自の Python オペレーティング環境が付属しているはずです)、pycharm と git はホスト マシンにインストールされます。したがって、開発者がインストールする必要があるのは、pycharm+git+docker です
漂亮男人2017-05-16 13:19:27
docker は pycharm を実行できますか? さらに、これは単なる Python 環境であり、サードパーティの参照も制御するのが簡単です。
Docker は、プログラムの実行環境をセットアップすることなく、運用と保守に便利です。開発が完了し、リリース用にパッケージ化されたら、docker を使用してマシンを開発しますか?それはとても勇気のいることです。