2016-07-03 13 views
0

私はWindows用の最新のドッカー(ベータ版)を使用しています。ボリュームを使用してイメージを簡単に実行する方法

私はディレクトリを持っている:

code.hs 
Dockerfile 

私が作成し、/appがマウントされ、このディレクトリがあり、そこにコードを実行されます画像にしたいです。また、私はこのファイル(code.hs)のホスト上で行った変更をコンテナ内に表示したい。だから私は実行します。

Dockerfile:

FROM haskell:7.10 
WORKDIR /app 
VOLUME .:/app 
CMD ["ghci"] 

私は実行すると:

docker build . -t my-test 
docker run -it my-test bash 

> #app - inside the container is empty 

は私が間違って何をしているのですか?私が欲しいものを手に入れる方法?

答えて

1

ではなく、試してみてください。

、Dockerfile:

ホストディレクトリがあり、その性質上、ホスト依存:

FROM haskell:7.10 
VOLUME /app 
WORKDIR /app 
CMD ["ghci"] 

the doc mentions通り。
このため、構築されたイメージは携帯用であるため、Dockerfileからホストディレクトリをマウントすることはできません。
ホストディレクトリは、すべての可能性のあるホストで使用できるわけではありません。

そして:

docker run -it -v /full/path:/app my-test bash 
+0

おかげで=)それが動作するようになりました。 cmdで相対パスを渡すことができないのはなぜですか?ドッカーが作れば可能だろうか? – WHITECOLOR

+0

@WHITECOLOR正確:docker-composeは、相対パスを使用する機能を導入しました。しかし、それは 'docker run'コマンドそのものではありません(ドッカーの作成前に導入されました)。ここで述べたように、docker-composeは、とにかく絶対パスに変換します:https://github.com/docker/docker/issues/19126#issuecomment-169353931 – VonC

関連する問題