在 docker centos 容器上安装 Oracle:磁盘不足 space

Install Oracle on docker centos container: Insufficient disk space

我尝试在 docker 容器中安装 oracle 11g。该容器是从 centos:6 图像构建的。主机是fedora21。

oracle 安装程序 (/opt/oracle/database/runInstaller) 抱怨磁盘不足 space:

SEVERE: [FATAL] [INS-32021] Insufficient disk space on this volume for the selected Oracle home.
CAUSE: The selected Oracle home was on a volume without enough disk space.
ACTION: Choose a location for Oracle home that has enough space (minimum of 4,324MB) or free up space on the existing volume.

确实 docker 报告的 space 还不够:

Filesystem            Size  Used Avail Use% Mounted on
rootfs                9.8G  5.4G  3.9G  58% /
/dev/mapper/docker-253:0-1315729-b9ba9f0049753e5d7cb7e0fc64f68af92a4f9972a8d5e4988acce418bb4a88aa
tmpfs                 7.9G     0  7.9G   0% /dev
shm                    64M     0   64M   0% /dev/shm
/dev/mapper/fedora_lap--alainsavio-root
                   50G   21G   27G  45% /etc/resolv.conf

我可以告诉 docker 为这个容器分配(或报告?)更多磁盘 space 吗?

是的,容器的默认容量可以超过 10 Gb,请参阅本文 https://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/

修改主机上 /etc/default/docker 文件中的 Docker 选项。 DOCKER_OPTS="--storage-driver=devicemapper --storage-opt dm.basesize=20G"

(!)现有的容器和镜像可能会丢失。

谢谢大家的回答。 最后,有效的是:

$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start

!这将删除所有本地 docker 图像和容器。

编辑文件/etc/sysconfig/docker修改OPTIONS参数:

# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled --storage-driver=devicemapper --storage-opt dm.basesize=20G'

https://docs.docker.com/reference/commandline/cli/#daemon-storage-driver-option