首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我们运行带有.sh文件的dockerfile,那么“dockerfile”和"docker“之间的区别

如果我们运行带有.sh文件的dockerfile,那么“dockerfile”和"docker“之间的区别
EN

Stack Overflow用户
提问于 2016-11-27 04:17:52
回答 1查看 742关注 0票数 1

这是我的Dockerfile

代码语言:javascript
复制
# This Dockerfile describes the standard way to build 
FROM centos:latest
MAINTAINER praveen
# Run a root to allow "rpm"
USER root
WORKDIR /root/

# Get the ACE-TAO rpm from seachange repo 
COPY TAO-1.7.7-0.x86_64.rpm  /root/TAO-1.7.7-0.x86_64.rpm

# Insatall the rpm  
RUN rpm -ivh  /root/TAO-1.7.7-0.x86_64.rpm

#Start the TAO service 
#CMD /etc/init.d/tao start

COPY namingServiceConfig.sh /
RUN /namingServiceConfig.sh

EXPOSE 13021
EXPOSE 13022
EXPOSE 13023
ENV NS_PORTS=13021,13022,13023

#ENTRYPOINT /etc/init.d/tao start && bash

在进行对接构建时,无论是执行shell脚本并将更改作为部分映像反映,还是使用运行映像时,运行,它都将反映对容器级别的更改

在我的例子中,我怀疑它是在同时运行的同时执行的

我正在使用下面的命令作为通过迷航文件构建和运行的一部分

代码语言:javascript
复制
d.build_image "/vagrant/tao", args: " -t tao/basic"

 d.run "tao/basic:latest",
            args: " -t -d"\
                  " --name tao-basic"\
                  " -p 13021:13021"\
                  " -e NS_PORT=13025,13026,13027"

告诉我,需要更多的信息

EN

回答 1

Stack Overflow用户

发布于 2016-11-27 04:24:05

Dockerfile指令(如RUN等)在构建时被激活(docker build -t something .等)。只有CMDENTRYPOINT指令发生在运行时(当容器启动时)。

在您的示例中,shell脚本将作为构建的一部分运行,发生的任何更改都将作为映像中的一个新层提交。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40825707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档