web-dev-qa-db-ja.com

Dockerfileおよびアプリケーションファイルをboot2dockerに展開する方法

Dockerを学び始めたばかりで、Windowsでboot2dockerを使用して簡単なセットアップを取得しようとしています。プロジェクトファイルをboot2docker VMからアクセスできるようにする方法は、オンラインのチュートリアルやサンプルで見つけることができませんでした。

Boot2dockerをダウンロードし、インストールして起動することに成功しました。そこにsshしてhello world Dockerサンプルを実行することもできるので、VMにDockerが正常にインストールされていることがわかります。

今、質問:boot2dockerでDockerfileとアプリケーションファイルを取得する方法VM = Dockerコンテナを構築できるように?

つまり、boot2docker VMからこれを実行しようとしています。

$ cd /some-directory-from-my-Host-os
$ docker build .

https://github.com/boot2docker/boot2docker#folder-sharing の指示に従ってSAMBA共有をセットアップしてみたところ、Windowsから\\192.168.59.103\dataしかし、boot2docker VM内から同じディレクトリにアクセスする方法はわかりません。

答えは明白かもしれませんが、その壁にぶつかるのは私だけではないと確信しています。ご協力いただきありがとうございます!


更新-boot2docker 1.3に組み込まれました!

Boot2docker 1.3以降、共有フォルダーをマウントする機能が追加されたため、VMはdevフォルダーを直接共有できます。詳細はこちら: https://github.com/ boot2docker/boot2docker#virtualbox-guest-additions

39

それが窓の下で役立つかどうかわからない。ただし、Macの場合:

boot2dockerとVirtualBox Guest Additions
/Usersをboot2dockerにマウントする方法

https://medium.com/boot2docker-lightweight-linux-for-docker/boot2docker-together-with-virtualbox-guest-additions-da1e3ab2465c

tl; dr VirtualBox Guest Additions( link を参照)または http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guestを使用して独自のカスタムboot2docker.isoを構築します-additions-v4.3.12.iso そして〜/ .boot2docker/boot2docker.isoに保存します。

11
mattes

現在の進捗状況を確認し、sambaコンテナが実行されていると仮定すると、Boot2dockerの/ dataフォルダーへのパスを見つけることができますVM

$ docker inspect <samba_container_id>

これにより、コンテナ構成の詳細が一覧表示されます。一番下の近くに表示されるはずです:

「ボリューム」:{

    "/data": "/mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>

これがboot2docker vm/dataパスです。そのフォルダにcdするだけです

$ cd /mnt/sda1/var/lib/docker/vfs/dir/<long_id_here>

Windowsエクスプローラーから、次の場所に移動します。

\\192.168.59.103\data

これで、いくつかのファイルをそのデータフォルダーに貼り付け/コピー/作成できるようになり、Boot2docker VM at path:/mnt/sda1/var/lib/docker/vfs/dir/<long_folder_id_here>

7
meta_state

私見の最善の方法はscpを使用することです。 sshできるので、winscpを使用してDockerfileをVMに送信できます。

5
creack

ファイルをVMにsshします

dockerfile=$(cat LocalDockerfile)
boot2docker ssh "echo '$dockerfile' > Dockerfile"

ここに書きました http://micahasmith.github.io/2014/11/07/copying-files-into-boot2docker/

3
Micah

Boot2Dockerでディレクトリ「cd/c」を変更すると、Windowsの「ユーザー」フォルダが表示されます。共有したいコンテンツを好みのユーザーフォルダーに入れます。

2
Livio

このボックスでvagrantを使用します: https://vagrantcloud.com/yungsang/boot2docker

そして、Vagrantファイルを変更してWindowsで(自動)rsyncを使用しました:

  rsync_args = ["--verbose", "--archive", "--delete", "-z"]
  rsync_auto = true
  rsync_exclude = [".vagrant/"]
  config.vm.synced_folder ".", "/vagrant", rsync__args: rsync_args, rsync__exclude: rsync_exclude, rsync__auto: rsync_auto, type: "rsync"
0
kondor