![在 Google 计算引擎实例内安装 Docker 以安装 dcos 集群](https://linux22.com/image/685204/%E5%9C%A8%20Google%20%E8%AE%A1%E7%AE%97%E5%BC%95%E6%93%8E%E5%AE%9E%E4%BE%8B%E5%86%85%E5%AE%89%E8%A3%85%20Docker%20%E4%BB%A5%E5%AE%89%E8%A3%85%20dcos%20%E9%9B%86%E7%BE%A4.png)
我一直在编写一个用于安装 DCOS mesos 集群的 ansible 脚本。我一直在按照 ansible 脚本中 DCOS 文档的高级安装部分中的步骤进行操作。当我的 ansible 脚本运行时,我得到了以下信息
bash dcos_installer.sh master
结果
Starting DC/OS Install Process
Running preflight checks
Checking if DC/OS is already installed: PASS (Not installed)
PASS Is SELinux disabled?
Checking if docker is installed and in PATH: PASS
Checking docker version requirement (>= 1.6): PASS (1.11.2)
Checking if curl is installed and in PATH: PASS
Checking if bash is installed and in PATH: PASS
Checking if ping is installed and in PATH: PASS
Checking if tar is installed and in PATH: PASS
Checking if xz is installed and in PATH: PASS
Checking if unzip is installed and in PATH: PASS
Checking if ipset is installed and in PATH: PASS
Checking if systemd-notify is installed and in PATH: PASS
Checking if systemd is installed and in PATH: PASS
Checking systemd version requirement (>= 200): PASS (219)
Checking if group 'nogroup' exists: PASS
Checking if port 80 (required by mesos-ui) is in use: PASS
Checking if port 53 (required by mesos-dns) is in use: PASS
Checking if port 15055 (required by dcos-history) is in use: PASS
Checking if port 5050 (required by mesos-master) is in use: PASS
Checking if port 2181 (required by zookeeper) is in use: PASS
Checking if port 8080 (required by marathon) is in use: PASS
Checking if port 3888 (required by zookeeper) is in use: PASS
Checking if port 8181 (required by exhibitor) is in use: PASS
Checking if port 8123 (required by mesos-dns) is in use: PASS
Checking Docker is configured with a production storage driver: WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.th
inpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true
` to suppress this warning.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
FAIL (devicemapper, /dev/loop0)
Docker is configured to use the devicemapper storage driver with a loopback
device behind it. This is highly recommended against by Docker and the
community at large for production use[0][1]. See the docker documentation on
selecting an alternate storage driver, or use alternate storage than loopback
for the devicemapper driver.
[0] https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/
[1] http://www.projectatomic.io/blog/2015/06/notes-on-fedora-centos-and-docker-storage-drivers/
我不知道如何修复的错误与存储驱动程序有关。我正在使用运行 centos 7 的 Google GCE 实例,它们不使用 LVM,因此我无法使用推荐的 devicemapper(direct-lvm) 存储驱动程序。
我的问题是,有没有办法使用 devicemapper 驱动程序,或者我是否使用其他存储驱动程序?
一旦我的脚本可以运行,我就会开源。
更新
Overlayfs 对我有用
答案1
我设法使用 overlayfs 解决了这个问题。我的 GCE 上的 DCOS 安装脚本可从以下位置获取https://github.com/dcos-labs/dcos-gce
谢谢。