2016-09-26 2 views
1

私の問題は、マシンの内部で実行されているコンテナに自分のosx macbookからホストコンピュータのディレクトリをマウントすることに関連しています。dockerはxhyveを使ってosxのマウントホストディレクトリを作成します

私はdevopsを使っていました.Dockerを使っていましたが、VBoxManageを使ってドッカーマシンにディレクトリをマウントし、そこからそれらのフォルダをコンテナにマウントしました。

しかし、私はvirtualboxを使用していませんが、xhyve仮想マシンはコンテナ内のホストディレクトリにどのようにアクセスできるのでしょうか。

データベースとコードベースをホストし、それらをnginxコンテナ内にホストしたい場合は、コードがホストコンピュータにあるときにIDEAを使用してコードを編集してください。

しかし、私は動作するはずの指示に従うたびに正しく動作するようには見えません。シェルそして、私がアップドッキングウィンドウを構成ないとき今

version: "2" 
services: 
    nginx_php: 
    build: docker/nginx 
    ports: 
     - "10000:80" 
    volumes: 
     - .:/var/test 

例えば、私のnginxの構成は、このようなものです:

FROM nginx:latest 
RUN rm /etc/nginx/conf.d/default.conf 
ADD ./default.conf /etc/nginx/conf.d/ 
EXPOSE 80 
EXPOSE 443 

そして、私のドッキングウィンドウのコンは、このようなものですドッカーのコンテナ "docker exec -it bash"を使ってディレクトリを列挙して/ var/testを見つけることができますが、それには何かが含まれています。

たとえば、 "。"ディレクトリ私は私のドッカーのボリュームステートメントで使用する作成、私はプロジェクトと呼ばれるディレクトリを持っています/ドッカーのコンテナで/ dev/testで、私はプロジェクトを見つける。

しかし、私は "スタック"を見つけるのはちょっと古いですが、それは何か問題ではありませんが、見つからないので、 "をマウントしたようです"しかし、そのすべてが表示されていない、特定のもの。

私はこれをさらに進めて、このプロセスの前に "angi"という名前のディレクトリを作成しました。プロジェクトの内容をリストすると、予想どおりangiディレクトリが表示されます。

これをさらに進めて、私は "monkey"というディレクトリを作成しましたが、コンテナを再構築して再起動すると "/ projects/angi"が見えますが、 "/ projects/monkey "

wtf ....それはファイルシステムの半分をマウントしているか、特定の部分を選択的に表示しているようなものです。私は予想通りの結果を得られないので、ホストディレクトリをマウントする方法は不明です。 。

誰かが間違っている可能性があることを知っていますか?

+0

古いドッカーの使用をやめ、Mac用のDockerを使用する以外は、私の問題の解決策が見つかりませんでした。このgithubの問題点については、https://github.com/zchee/docker-machine -driver-xhyve/issues/136 –

答えて

1

私は同じボートにいます。私はドッカー/ドッカー - マシン/ドッカー - マシン - ドライバー - xhyve(homebrewを介して)がインストールされていると同じ問題があります。

私は、ホスト上にボリュームを作成していると思います。この場合はドッキングマシンであり、Mac OSのホストではありません。私は別のジャンプが必要だと思います...どうしたのでしょう、私は分かりません。

しかし、私は確認することができます、庭の品種クリーンドッカーアプリはあなたのためにこれを世話します。

1

DanielはMacOSを指摘していたDockerコンテナボリュームは、MacOSをホストするのではなく、中間のVMにマウントされています。

だから、あなたは(あなたのVMという名前のデフォルトの場合)

docker-machine scp [localfiles] default:./ 

それとも、sshfsのを使用して追加のステップ半自動を行うことができますを使用してVMに必要なコンテンツをコピーすることができる2つのオプション

があります:

docker-machine mount default:[/mountpoint] [localpath] 
は、

2番目のオプションは、brewから入手可能なsshfsが必要です。

brew tap caskroom/cask 
brew cask install osxfuse 
brew install sshfs 

詳細はこちらhttps://docs.docker.com/machine/reference/mount/

また、片方向同期オプションであることに注意してください。マシンから何かを取得する必要がある場合は、必ずそれを元に戻してください。

関連する問題