Docker:错误创建aufs挂载到/ var / lib / docker / aufs / mnt / 15396ee0f38d161382f104e11c94b6ca0efafe10f9952e1dfba4f548009fbe59-init:无效参数

时间:2016-06-27 20:31:03

标签: linux ubuntu docker kernel mount

我正在尝试构建一个Docker虚拟机并不断收到此错误:

  

创建aufs mount到/ var / lib / docker / aufs / mnt / 15396ee0f38d161382f104e11c94b6ca0efafe10f9952e1dfba4f548009fbe59-init时出错:   无效的论点

我使用Docker 1.11.2版本在Ubuntu 14上,构建b9f10c9。 这是Dockerimage的代码:

FROM ubuntu:trusty
MAINTAINER Fernando Mayo <fernando@tutum.co>, Feng Honglin <hfeng@tutum.co>
# Install packages
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
  apt-get -y install vim supervisor git curl unzip apache2 libapache2-mod-php5 pwgen php-apc php5-mcrypt php5-mysql php5-curl&& \
  echo "ServerName localhost" >> /etc/apache2/apache2.conf


# Install Composer
RUN curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
RUN composer global require "laravel/installer"
ENV PATH ~/.composer/vendor/bin:$PATH

# Add image configuration and scripts
ADD start-apache2.sh /start-apache2.sh
ADD start-mysqld.sh /start-mysqld.sh
ADD run.sh /run.sh
RUN chmod 755 /*.sh
ADD my.cnf /etc/mysql/conf.d/my.cnf
ADD supervisord-apache2.conf /etc/supervisor/conf.d/supervisord-apache2.conf
ADD supervisord-mysqld.conf /etc/supervisor/conf.d/supervisord-mysqld.conf
ADD php.ini /etc/php5/cli/php.ini
ADD 000-default.conf /etc/apache2/sites-available/000-default.conf


# config to enable .htaccess
RUN a2enmod rewrite


# Copy over private key, and set permissions
ADD .ssh /root/.ssh


# Get aws stuff
RUN curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
RUN unzip awscli-bundle.zip
RUN ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws


#####This section has been moved into the run.sh to allow for cached builds that get the most up to date git repository. This is done by using ENTRYPOINT rather than RUN
# Clone the repo
RUN rm -rd /var/www/html
#RUN git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/Server /var/www/html
# Set file permissions
#RUN chmod -R 777 /var/www/html/storage 
#RUN chmod -R 777 /var/www/html/bootstrap/cache
ENTRYPOINT /run.sh
###########################################################################################





# Environment variables to configure php
ENV PHP_UPLOAD_MAX_FILESIZE 10M
ENV PHP_POST_MAX_SIZE 10M




EXPOSE 80 3306
CMD ["/run.sh"]

如何修复此安装问题?

编辑:可以在live usb上运行主机操作系统,特别是ubuntu,会导致这个问题吗?

我也尝试了Error: "error creating aufs mount to" when building dockerfile的建议 但它不起作用。

1 个答案:

答案 0 :(得分:1)

Live usb几乎肯定不是ext4或其他受支持的文件系统之一。它很可能在做overlay,我认为您不能在overlayfs的顶部安装overlayfs。

您可以使用mount命令为/ var / lib / docker查找当前文件系统。例如。在我的本地环境中(我处于链接状态,因此路径中的多余点和文件显示在homelv中):

# df /var/lib/docker/.
Filesystem                               1K-blocks      Used Available Use% Mounted on
/dev/mapper/bmitch--vg-homelv 720798904 437701948 246459468  64% /home

# mount | grep /dev/mapper/bmitch
/dev/mapper/bmitch--vg-homelv on /home type ext4 (rw,relatime,data=ordered)

注意mount输出中的“ ext4类型”。

Docker有supported backing filesystems的列表:

  
      
  • overlay2,叠加层:xfs,ftype = 1,ext4
  •   
  • aufs:xfs,ext4
  •   
  • devicemapper:direct-lvm
  •   
  • btrfs:btrfs
  •   
  • zfs:zfs
  •   
  • vfs:任何文件系统
  •