【问题标题】:Docker image behaves different on different machinesDocker 镜像在不同的机器上表现不同
【发布时间】:2016-02-19 07:33:56
【问题描述】:

我生成了一个在不同机器上表现不同的 Docker 映像。我认为 Docker 不可能做到的事情。但是让我解释一下:

我的计划是生成一个基于 dashing 的 Docker 映像,我将其上传到一个 ec2 实例,然后在那里启动它。

在 Dockerfile(见下文)中,我创建了一个新的 dashing 实例,它在作业子文件夹中创建了一些作业(例如 twitter.rb)。之后我删除了作业文件夹并重新创建它以摆脱所有默认作业。

当我在本地机器(OS X 和 Docker Toolbox 1.8.3)上运行映像时,我可以看到默认作业已被删除(如预期的那样)。同样在我同事的机器(带有 Docker 1.7.1 的 Ubuntu)上,它的工作方式与预期一样。但是在一台 ec2 机器上(使用 Docker 1.7.1 修改过的 Amazon Ami)我可以看到作业子文件夹中的默认作业以及我在 Dockerfile 末尾添加的那些。

有谁知道问题出在哪里?或者至少给我一些提示如何进行?

# Build script where 1 is my version
docker build -t dashboard:1 .
docker save -o dashboard.tar dashboard:1

# On the ec2 machine 
docker load -i dashboard.tar
docker run -t dashboard:1 dashing start

这是我的 Dockerfile:

FROM ruby

RUN apt-get update && \
    apt-get -y install npm && \
    apt-get -y install nodejs && \
    gem install dashing && \
    gem install bundle

# Creates default jobs like jobs/twitter.rb
RUN mkdir /dashing && \
    dashing new dashing && \
    cd /dashing && bundle

WORKDIR /dashing

# Clean default jobs and re-create the folder
RUN rm -rf jobs && mkdir jobs && \
    rm -rf dashboards && mkdir dashboards && \
    rm -rf widgets && mkdir widgets && \
    rm -rf public && mkdir public

# Add jobs from current repository
ADD jobs /dashing/jobs
ADD config/config.ru /dashing/config.ru
ADD dashboards /dashing/dashboards
ADD widgets /dashing/widgets
ADD public /dashing/public

# Run Bundle in a cache efficient way
WORKDIR /tmp
ADD config/Gemfile /tmp/
ADD config/Gemfile.lock /tmp/
RUN bundle install

WORKDIR /dashing

CMD ["dashing start"]

【问题讨论】:

    标签: amazon-ec2 docker dockerfile


    【解决方案1】:

    不管怎样,如果您仍然有这个问题,听起来这是文件夹在创建时的“默认 umask”问题。运行脚本的“用户”必须位于对作业目录和作业目录上方的目录至少具有“rw”(读/写)权限的组中才能将其删除 - 听起来您在云设置(但显然你会在自己的盒子上!)

    (更多细节和感谢https://unix.stackexchange.com/questions/7466/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-11
      • 2012-07-02
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多