2017-07-02 12 views
0

ドッカーが新しくなりました。私は、Windowsコンテナを使ってWindows server 2016から "ネイティブ"ドッキングを実行します。その間に中間VM(ドッキングマシンなし)とドッキングツールボックスがないので、 "ホスト"はドッキングを実行している実際のWindows Serverです。Invoke-commandを使用してドッカーを実行できません

ドッカーバージョン:

PS C:>ドッカバージョン クライアント: バージョン:17.03.1-EE-3 APIのバージョン:1.27 囲碁バージョン:go1.7.5 Gitはコミット:内蔵3fcee33 :木3月30日午後07時31分22秒2017 OS /アーチ:窓/ AMD64

サーバー: バージョン:17.03.1-EE-3 APIバージョン:1.27(最小バージョン1.24) ゴーバージョン:go1.7.5 Git commi t:3fcee33 Built:Thu Mar 30 19:31:22 2017 OS/Arch:windows/amd64 実験的:false PS C:> ドッカーハブから画像を引き出しました。実行中にドッカーイメージ内のファイルを置き換え、イメージに変更をコミットする必要があります。

私はドッカーのハブから引き出したドッカー画像の中にSample.javaとdatafile.propertiesを持っています。私は自動化された方法でそれを行うだろうか私はHello.javaとdata.propertiesでそれを交換したい

[私はgithubのからこれらのファイルを引っ張っ]

?これに関するアドバイスやいくつかの例が役立ちます。前もって感謝します。

答えて

0

イメージを自動化する最も良い方法は、Dockerfileを使用することです。いくつかの情報は、たとえば、ドキュメントにあります。 https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

ディレクトリであなたのHello.javadatafile.propertiesを持っている場合は、同じディレクトリにDockerfileを作成するには、例えば;

FROM the-base-image-on-docker-hub 
RUN rm /path/to/Sample.java 
COPY ./Hello.java /path/to/ 
COPY ./datafile.properties /path/to/ 

画像を作成し、myimage:latestとして「タグ付け」することができます。

docker image build -t myimage:latest . 

(エンド(.)の期間を示し、「コンテキストを構築する」として、現在のディレクトリを使用する - ビルド・コンテキストがドッキングウィンドウデーモンにアップロードされ、その中のすべてがあなたのドッキングウィンドウに追加してアクセスできるようになりますCOPYまたはADDドッカーファイルの手順を使用して画像)

これは概念を説明するための非常に素朴な例です。私はドキュメンテーションを読んで、概念を理解し、より多くの例を探してみることをお勧めします。

+0

そうです。私は私のローカルマシンでこれを行うことができます。私はEC2のWindowsインスタンスを作成し、ドッカーをインストールし、それが自動化されたイメージをプルするpowershellスクリプトを起動しています。私は新しく作成されたインスタンスに入り、各コマンドをInvokeコマンドで渡すためにNew-PSSessionを使用しています。私は対話型コンソール(docker run 474614/my_repo cmd)を実行することができません。これは "これはttyデバイスではありません、winptyにプレフィックスを付けてください"というエラーが表示されます。私はこのインスタンスをWindowsインスタンス上で動作させる方法を知らないか、この作業を行うための他の方法はありません – syndy1989

関連する問題