2017-01-29 19 views
1

私はDockerを使用してワークフローを改善しようとしています。私は"Docker Toolbox for Windows"を私のWindows 10 Home editionにインストールしました(Dockerは専門家としてしか動作しないと思われるので)。完全なドッカーサポートを提供すると主張するmgexhev's angular-seedを使用しています。 ./docker/angular-seed.development.dockerfileをリンクするdocker-compose.ymlファイルがあります。プロジェクトファイルを変更してもDockerマシン内のファイルは変更されません

シードプロジェクトをgitクローニングした後、私はseed project's github pageで与えられたコマンドを実行することでそれを開始できます。だから私は実行後にアプリを見ることができます

$ docker-compose build 
$ docker-compose up -d 

しかし、私はVisual Studioコードでコードを変更し、livereloadを保存する動作しません。私の変更を見ることができる唯一の方法は、buildコマンドとupコマンド(npm install; 5minを再実行)を再実行することです。 Docker's documentation

彼らは「リアルタイムでのソースコードを変更し、アプリケーションにその効果を見る」ことができるようにするために、「データボリュームとしてマウントホストディレクトリ」に言う

docker run -v //c/<path>:/<container path> 

しかし、私私がドッカーを作っているときにこれが正しいと確信していませんか?私はまた、実行しようとしました:

docker run -d -P --name web -v //c/Users/k/dev/:/home/app/ angular-seed 
docker run -p 5555:5555 -v //c/Users/k/dev/:/home/app/ -w "/home/app/" angular-seed 
docker run -p 5555:5555 -v $(pwd):/home/app/ -w "/home/app/" angular-seed 

と多くの類似のコマンドが何も動作するようです。

「ホーム」ディレクトリを使用していないアクセス権問題があるかもしれないと読んだので、C:/ dev/projectからプロジェクトを移動しようとしましたが、違いはありません。

私はまた、指示がlocalhost:5555を参照していると混乱しています。私はドッキングする必要があります:5555は、アプリケーションを表示する(これは誰も私のコードが私のドッカーのコンテナの内部を更新しない理由を理解するのに役立つ場合)。

確かに私の変更が自動的にドッキングウィンドウ環境に移動する必要がありますまたはドッキングウィンドウは、開発のために非常に有用ではありません:)

答えて

1

あなたにリンクしたドッキングウィンドウ-compose.ymlを見て、私は、任意のボリュームが表示されませんエントリ。これがなければ、ホスト上のファイルとコンテナ内のファイルとの間には接続ができません。ドッカー-マシンが仮想ボックスVMの内部でドッカを実行します

version: '2' 

services: 

    angular-seed: 
    build: 
     context: . 
     dockerfile: ./.docker/angular-seed.development.dockerfile 
    command: npm start 
    container_name: angular-seed-start 
    image: angular-seed 
    networks: 
     - dev-network 
    ports: 
     - '5555:5555' 
    volumes: 
     - .:/home/app/angular-seed 

networks: 
    dev-network: 
    driver: bridge 

:のようにあなたは、ボリューム項目が含まれてドッカ-compose.ymlが必要になります。デフォルトでは、私はc:\ UsersがVMに共有されていると思いますが、これを確認するには仮想ボックスの設定を確認する必要があります。コンテナにマップしようとするホストディレクトリはすべてVMからマップされるため、そのVMにフォルダが共有されていない場合、ファイルは含まれません。

IPを使用すると、localhostはLinuxホストおよびWindows/Mac用のdockerの新しいバージョンで動作します。古いドッカーマシンベースのインストールでは、仮想ボックスVMのIPを使用する必要があります。

+0

私はWindows 10のホームでボリューム設定を設定する方法の問題で新しい質問を投稿しました。http://stackoverflow.com/questions/41932778/setting-volumes-in-docker-compose-yml-file-for- windows-10-home – Kriss

関連する問題