2017-11-09 2 views
0

以下のアクションでコンテナ内の新しい作成済みパーティションにアクセスしたいが失敗する。 lsコンテナ内の新しく作成されたパーティションにアクセスする方法

[[email protected] ~]# lsblk 
lsblk: dm-0: failed to get device path 
lsblk: dm-1: failed to get device path 
lsblk: dm-0: failed to get device path 
lsblk: dm-1: failed to get device path 
lsblk: dm-2: failed to get device path 
lsblk: dm-3: failed to get device path 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
vda 253:0 0 116G 0 disk 
├─vda1 253:1 0 52G 0 part /etc/hosts 
└─vda2 253:2 0 64G 0 part 
vdb 253:16 0 400G 0 disk 
vdc 253:32 0 100G 0 disk 
vdd 253:48 0 10G 0 disk 
vde 253:64 0 10G 0 disk 
vdf 253:80 0 10G 0 disk 
vdg 253:96 0 10G 0 disk 
└─vdg1 253:97 0 1M 0 part <=== 

はアクセスできません:lsblk缶ビューでは、新しいデータ・パーティション

[[email protected] ~]# lsblk            
lsblk: dm-0: failed to get device path 
lsblk: dm-1: failed to get device path 
lsblk: dm-0: failed to get device path 
lsblk: dm-1: failed to get device path 
lsblk: dm-2: failed to get device path 
lsblk: dm-3: failed to get device path 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
vda 253:0 0 116G 0 disk 
├─vda1 253:1 0 52G 0 part /etc/hosts 
└─vda2 253:2 0 64G 0 part 
vdb 253:16 0 400G 0 disk 
vdc 253:32 0 100G 0 disk 
vdd 253:48 0 10G 0 disk 
vde 253:64 0 10G 0 disk 
vdf 253:80 0 10G 0 disk 
vdg 253:96 0 10G 0 disk 
[[email protected] ~]# parted -s /dev/vdg mklabel gpt mkpart 1 ext4 1 2M 

を作成するために、ディスク

docker run --privileged -d --device=/dev/vde:/dev/vde centos 

使用partedをマウントする

使用--device=私はそれを使用することができないことを意味します:

[[email protected] ~]# ll /dev/vdg* 
brw-rw---- 1 root disk 253, 96 Nov 9 02:31 /dev/vdg 

どのようにアクセスできますか?

答えて

0

Dockerがデバイスをコンテナに渡すために使用する現在の方法では、コンテナの作成後にデバイスを動的に渡すことはできません。

moby/moby #22563はマージされたPRですが、マージ後のさらなる拡張についての議論があります。またmoby/moby #35359は、あなたのユースケースに役立つであろうデバイス関連の機能を求めるオープンな問題/機能要求です。

今の現在の回避策は、一つの容器にfdiskを実行することで、その後、作成した利用可能になりましたすべてのブロックデバイスを通過する新しいコンテナ/実行します:

:によってFollowod

docker run --privileged -it --rm --device=/dev/vde:/dev/vde fdisk /dev/vde 

docker run --privileged [...]\ 
    --device=/dev/vde:/dev/vde \ 
    --device=/dev/vde1:/dev/vde1 \ 
    --device=/dev/vde2:/dev/vde2 \ 
    centos 
関連する問題