mkdir -p $ RAILS_ROOT'返回非零代码:1

时间:2017-09-13 00:01:30

标签: docker

我正在遵循本指南,我在Docker配置部分的指南中间了一半。

我在Odroid上运行Ubuntu 16。

我的Dockerfile给了我一个错误。这是我正在使用的......

<?php
$link=mysqli_connect("localhost","root","","blogdemo");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

?>

这是我得到的错误。

# Base image:
FROM ruby:2.4.0

# Install dependencies
#RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

# Set an environment variable where the Rails app is installed to inside of Doc$
ENV RAILS_ROOT /home/john/myapp
RUN mkdir -p $RAILS_ROOT

# Set working directory, where the commands will be ran:
WORKDIR $RAILS_ROOT

# Gems:
COPY Gemfile Gemfile
COPY Gemfile.lock Gemfile.lock
RUN gem install bundler
RUN bundle install

我不确定$ RAILS_ROOT为什么会给我一个错误。

1 个答案:

答案 0 :(得分:0)

  

我在Odroid上运行Ubuntu 16。

如果我没弄错的话,ODROID是ARM CPU设备。虽然Docker本身与ARM兼容,但您还需要使用基本映像。

话虽如此,看起来像官方Ruby图像的基于ARM的图像仅存在于2.4.1:https://github.com/docker-library/official-images/pull/3078。您可以尝试将基本映像升级到2.4.1,看看会发生什么。

但是,即使官方库可能在注册表中包含基于ARM的映像,我也不确定是否存在支持在同一存储库中切换arch的Docker版本。我找不到拉多拱形图像的任何参考。