window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() ドッカーの使い方 - The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2018-09-09
ソフトウェア開発

ドッカーの使い方

ダウィド・ポルシュロペク

私たちが準備したアプリケーションが大幅に拡張されたことに気づいて以来、私はその起動プロセスの自動化のためのまったく新しい方法を見つけることにしました。新機能を単独で有効化できるソリューションを見つけることが重要でした。

はじめに

よりシンプルなプロセス自動化の方法を発見することは、私の仕事だけでなく、私全体の仕事を大きく改善することになるだろう。 チーム.なぜDockerを使わないのか?

準備段階では、フロントエンド・アプリケーション用とAPI用の2つのセットアップを作成した。以下は、開発プロセスで学んだことのプレゼンテーションだ。

最初の問題

コンテナ内にクローンリポジトリを持ちたいので、DockerfileのADDコマンドでsshキーを追加した:

ADD ~/.ssh/testowy

ファイルが見つからない。なぜだ?

次のようなフォルダ構造になっていると仮定しよう:

docker/
|-- stuff/
|-- test.txt
|-- Dockerfile
サーバ
|-- データ
|-- setup.yml

コマンド実行 ビルド での ログインキュー フォルダーに追加できるのは、ローカル・フォルダーとそのローカル・サブフォルダー(例えばstuff)のファイルだけです。

を追加したい場合は サーバー フォルダーに移動すると、メッセージが表示されます:"コンテキストを準備できません"

ドッケリグノア

映像が出来上がるのにどうしてこんなに時間がかかるのか不思議に思ったことはありませんか?もしかしたら .dockerignore画像に不要なファイルを無視します。そのため .git フォルダは、一時ファイルと同様に自動的に削除されるはずです。

Dockerfileのコマンドの順番

Dockerは各行をDockerfileとして保存し、ビルド後は各行をレイヤーとして保存する。特定のコマンドの順番を頻繁に変えないことが非常に重要である。

ubuntuから
RUN apt-get install -y software-properties-common パイソン
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise universe" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nodejs
RUN apt-get install -y nodejs=0.6.12~dfsg1-1ubuntu1
RUN mkdir /var/www

ADD app.js /var/www/app.js

CMD["/usr/bin/node","/var/www/app.js"]を実行する。

例えば、Dockerfileの最後の行を変更すると、最後の行が変更される間、前の行はすべてキャッシュからダウンロードされます。4行目を置き換えると、4行目から最後までのすべての行が変更されます。このため、変更されないコマンドはファイルの先頭に置く価値がある。

ファイルをイメージにコピーする

ある画像が何に使われるのかを考えてみる価値はある。あるサービスを立ち上げるために必要であれば コード コンテンツを画像に直接貼り付ける:

COPY。/ワークディレクトリ

残念なことに、これではファイルを編集することができず、コードを編集するたびにイメージを構築し直さなければならない。

MacOSを使っていて、ビルドしたイメージを開発に使いたい場合は、少し違った方法でこの問題に取り組まなければならない。ボリュームを使用する場合、これは非常に遅いソリューションであることを覚悟しなければならない(例えば、ホストからコンテナへのファイルのコピーは4.5MB/sの速度で行われ、コンテナ内の内部コピーは10〜20倍の速度で行われる)。幸運なことに リンクMac版Dockerの開発を担当するチームにとって、この問題はすでに知られており、その解決は重要な課題となっている。

このような状況で、開発にDockerを使うにはどうすればいいのだろうか?

外部サービス、例えばRedis/PSQL/Elasticsearchに使うこともできるし、rsyncを提供する準備のできたソリューションを使うこともできる: https://github.com/brikis98/docker-osx-dev

要約すると

大きなチームで新機能をテストしたい場合、dockerは理想的なツールになるだろう!とはいえ、サーバーの本番稼動に使うか?まだ完全には納得していませんが...。

さらに、いくつかの優れた記事を推薦する:

  • 画像のテスト方法
  • Dockerについて他にも触れておきたいことがある。
  • 最後に、Dockerのドキュメント

関連記事

ソフトウェア開発

将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察

The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...

ザ・コデスト
ソフトウェア開発

ラトビアを拠点とするソフトウェア開発企業トップ10社

ラトビアのトップソフトウェア開発企業とその革新的なソリューションについて、最新記事でご紹介します。ラトビアの技術リーダーたちがあなたのビジネスをどのように向上させるかをご覧ください。

thecodest
エンタープライズ&スケールアップ・ソリューション

Javaソフトウェア開発の要点:アウトソーシングを成功させるためのガイド

outsourcingのJavaソフトウェア開発を成功させるために不可欠なこのガイドを読んで、The Codestで効率性を高め、専門知識にアクセスし、プロジェクトを成功に導きましょう。

thecodest
ソフトウェア開発

ポーランドにおけるアウトソーシングの究極ガイド

ポーランドのoutsourcingの急増は、経済、教育、技術の進歩がITの成長とビジネス・フレンドリーな環境を促進していることによる。

ザ・コデスト
エンタープライズ&スケールアップ・ソリューション

IT監査ツール&テクニック完全ガイド

IT監査は、安全かつ効率的で、コンプライアンスに準拠したシステムを保証します。その重要性については、記事全文をお読みください。

The Codest
ヤクブ・ヤクボヴィッチ CTO & 共同創設者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese