在里面docker-compose.yml
我们配置了以下卷
image: confluentinc/cp-kafka:latest
volumes:
- /grid/kafka-data:/var/lib/kafka/data
.
docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------
kafka-node_kafka_1 /etc/confluent/docker/run Up 0.0.0.0:9092->9092/tcp
据我了解-kafka docker容器路径-/var/lib/kafka/data
安装到/var/kafka-data
,当(/var/kafka-data
,是linux操作系统的路径)
关于 -/var/kafka-data
此挂载点文件夹已挂载到 OS 磁盘 - /dev/sdb
而磁盘sdb
大小为 - 1.8T byte
所以让我们总结一下:
/var/lib/kafka/data
是 kafka docker 分区,/var
只有100G
/var/kafka-data
是挂载到 sdb 磁盘的分区(在 linux 操作系统上)
我想问这个问题是为了安全起见
让我们说在 kafka docker partition - 上/var/lib/kafka/data
,大小/var/../data
大于100G
是否意味着容器分区/var/lib/kafka/data
仅限于100G
?
或者/var
在 kafka docker 容器上限制为外部卷1.8T byte
?
从kafka容器方面我们有:
# df -h /var
Filesystem Size Used Avail Use% Mounted on
overlay 101G 7.5G 94G 8% /
df -h /var/lib/kafka/data/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/os-rhel_root 101G 7.5G 94G 8% /var/lib/kafka/data
在容器之外——在我们拥有的真正的 Linux 操作系统上
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/os-rhel_root 50G 5.3G 45G 11% /
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 156K 12G 1% /dev/shm
/dev/sdb 1.8T 77M 1.8T 1% /grid/kafka-data
/dev/sda1 492M 158M 335M 32% /boot
/dev/mapper/os-rhel_var 106G 11G 96G 10% /var
tmpfs 26G 0 26G 0% /run/user/1005
tmpfs 26G 20K 26G 1% /run/user/0
overlay 101G 7.5G 94G 8% /var/lib/docker/overlay2/8411835673dfedd5986093eb771582dac7317d99f431b832f3baea8ea1aa3e4d/merged
shm 64M 0 64M 0% /var/lib/docker/containers/629aefd21b6042ebfbf1a0a08a882b2f1865137edfb4b2b02f5c9a1681d895e4/mounts/shm
overlay 101G 7.5G 94G 8% /var/lib/docker/overlay2/b4677bed14050337580958bc903bbb733d9464ca8bfc46124c3c506dc064867d/merged
.
.
.
解决此问题的步骤如下(在聊天中讨论):
docker inspect
问题的容器的输出。它产生大量输出,要考虑的关键部分是Binds
和Mounts
部分。date > /var/lib/kafka/data/test.txt
就足够了,并且/grid/kafka-data
在主机上变得可见。dd if=/dev/zero of=/var/lib/kafka/data/test.bin count=400 bs=1M
df
主机上的输出显示数据进入的卷的使用大小增加了约 400 MiB。由于这是针对“正确”的挂载点(大小为 1.8T)显示的,我们确信写入文件的实际限制是 1.8T。test.bin
和test.txt
被删除以避免不必要的文件和空间使用使系统混乱。