如何在Docker中限制启用SSH的Ubuntu 20.04映像容器的存储使用?
- 我明白不应该将Docker作为VM技术使用,但这仅用于教育目的 *
docker-compose.yml:
version: '3'
services:
ubuntu-vm:
build: .
image: ubuntu-ssh
ports:
- "2222:22"
environment:
- ROOT_PASSWORD=password
restart: always
networks:
mynetwork:
ipv4_address: 172.24.0.2
networks:
mynetwork:
driver: bridge
ipam:
config:
- subnet: 172.24.0.0/16
Dockerfile:
FROM ubuntu:latest
RUN apt-get update && \
apt-get install -y openssh-server && \
mkdir /var/run/sshd
RUN echo 'root:password' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
EXPOSE 22
CMD [ "/usr/sbin/sshd", "-D", "-e" ]
我尝试将storage_opt: size: 100G
添加到compose文件中,但在容器中执行df -H时,它返回了主机磁盘可用大小和磁盘使用情况(在本例中使用了400 gb,可用1.9tb)
我是否必须在主机中创建一个磁盘并将其Map到容器的/dev/sdx磁盘?或者有没有更好的方法来实现这一点,即容器确实可以访问主机磁盘的完整部分,但只是其中的一部分。
1条答案
按热度按时间y1aodyip1#
我尝试添加storage_opt:size:100 G到compose文件,但是在容器中执行df -H时,它返回主机磁盘可用大小和磁盘使用情况(在本例中使用了400 gb,可用1.9tb)
当然,因为
df -h
将显示 device 的大小,所以特定文件系统上没有可用的配额限制。创建一个大于100G
的文件进行检查。这很可能是docker存储驱动程序特定的-我在btrfs上测试过。