docker学习:CMD 和 ENTRYPOINT区别

2023-11-19

CMD					# 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代。
ENTRYPOINT			# 指定这个容器启动的时候要运行的命令,可以追加命令

cmd 测试 ls -a的命令,实际上只有-a起作用了,ls没有

测试CMD

# 编写dockerfile文件
$ vim dockerfile-test-cmd
FROM centos
CMD ["ls","-a"]
# 构建镜像
$ docker build  -f dockerfile-test-cmd -t cmd-test:0.1 .
# 运行镜像
$ docker run cmd-test:0.1
.
..
.dockerenv
bin
dev

# 想追加一个命令  -l 成为ls -al
$ docker run cmd-test:0.1 -l
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"-l\":
 executable file not found in $PATH": unknown.
ERRO[0000] error waiting for container: context canceled 
# cmd的情况下 -l 替换了CMD["ls","-l"]。 -l  不是命令所有报错


测试ENTRYPOINT

同样是ls -a 这时候测试结果是我们所期望的,展示文件。

# 编写dockerfile文件
$ vim dockerfile-test-entrypoint
FROM centos
ENTRYPOINT ["ls","-a"]
$ docker run entrypoint-test:0.1
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found ...
# 我们的命令,是直接拼接在我们得ENTRYPOINT命令后面的
$ docker run entrypoint-test:0.1 -l
total 56
drwxr-xr-x   1 root root 4096 May 16 06:32 .
drwxr-xr-x   1 root root 4096 May 16 06:32 ..
-rwxr-xr-x   1 root root    0 May 16 06:32 .dockerenv
lrwxrwxrwx   1 root root    7 May 11  2019 bin -> usr/bin
drwxr-xr-x   5 root root  340 May 16 06:32 dev
drwxr-xr-x   1 root root 4096 May 16 06:32 etc
drwxr-xr-x   2 root root 4096 May 11  2019 home
lrwxrwxrwx   1 root root    7 May 11  2019 lib -> usr/lib
lrwxrwxrwx   1 root root    9 May 11  2019 lib64 -> usr/lib64 ....


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker学习:CMD 和 ENTRYPOINT区别 的相关文章

  • 错误:命令“c++”失败,退出状态为 1

    所以我尝试按照以下说明安装 Pyv8https andrewwilkinson wordpress com 2012 01 23 integrating python and javascript with pyv8 https andre
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 从 docker 中的脚本创建 SQL Server 数据库

    我希望这是一个简单的问题 我在任何地方都找不到任何东西 如何在Microsoft SQL Server Docker容器 Dockerfile 我正在看以下内容Dockerfile FROM microsoft mssql server w
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 实时/热重载不适用于 dockerized NestJS API

    我遇到了一个奇怪的问题 我目前正在使用 Windows 10 并通过 WSL2 运行 docker 我在 Windows 文件管理器中克隆了存储库 并且我尝试在 DEV 中运行它 也就是说 一旦我更新了在我的本地存储库中的文件中 此更改反映
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 使用c在linux上分块读写

    我有一个 ASCII 文件 其中每一行都包含一个可变长度的记录 例如 Record 1 15 characters Record 2 200 characters Record 3 500 characters Record n X cha
  • 可以作为命令行参数传递多少数据?

    在 Linux 下生成进程时可以发送多少字节作为命令行参数 gahooa 推荐了一篇好文章http www in ulm de mascheck various argmax http www in ulm de mascheck vari
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • Docker nginx 代理到主机

    简短的介绍 Nginx 运行在 docker 上 如何配置 nginx 以便将调用转发到主机 详细描述 我们有一个 Web 应用程序与几个后端通信 假设为rest1 rest2 和rest3 我们负责rest1 让我们考虑一下我开始rest
  • dockerfile 没有创建目录并复制文件?

    我的 dockerfile 中有以下内容 还有很多 不过我把相关的部分贴在这里了 RUN useradd jenkins USER jenkins Maven settings RUN mkdir m2 COPY settings xml
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 无法通过 macvlan 网络从主机访问 docker 容器

    在我的 Linux 网络中 我无法通过专用 macvlan 网络从运行它们的主机访问我的 docker 容器 到此 macvlan 网络的所有其他连接都正常 所以基本上设置是 DOCKER1 eth0 172 0 0 1 default e
  • 如何在 sles 12 中安装 docker?

    我想在我的 suse 系统中安装 docker stable 版本 版本 sles 12 在suse系统中安装docker 需要添加docker的仓库 我没有找到任何用于添加1 6版本的docker存储库的url 存储库url 我发现 do
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • Heroku 码头部署

    我正在关注这篇文章https devcenter heroku com articles container registry and runtime https devcenter heroku com articles containe
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec

随机推荐

  • 机器学习里的 kernel 是指什么?

    转自我的知乎回答 机器学习里的 kernel 是指什么 我换个角度来解释这个问题 机器学习在做回归或者分类时有一个很朴实的想法 预测 x 的值 那就在训练集 X 中寻找那些与 x 相似的样本 再把这些样本的值加权作为预测值 这里有两个问题
  • Unity 导出XCode工程运行报错: ‘UnityFramework/UnityFramework.h‘ file not found

    简介 近期项目升级到2019 4 10f1版本 在用自动化打包的时候 遇到了一些问题 其中一个是 在导出XCode工程之后 运行工程的时候 编译报错 UnityFramework UnityFramework h file not foun
  • ​CVPR 2023

    论文链接 https arxiv org pdf 2306 02763 pdf 代码链接 https github com ZhenglinZhou STAR 要解决的问题 人脸关键点检测标注中存在语义歧义问题 语义歧义是指不同的标注者对同
  • x86 32位机的特权保护

    优先级划分 指令的权限检查和超出权限访问的异常处理等是构成特权保护的基础 本文将试图讲解为大家解决两大问题 win32汇编中为什么找不到中断指令的应用 比如int 7ch windows错误的 蓝屏 是从哪里来的 保护模式下 中断或异常往往
  • idea2021如何开启RunDashboard

    一般来说如果你的微服务项目中拥有多个子模块 idea会自动识别 不需要进行以下操作 只要你一运行多个子模块就会自动出现 如果没有出现 那就只有手动添加了 1 找到workspace xml项目所在的磁盘路径 idea gt workspac
  • CTF图片隐写题

    1 隐藏在图片属性里的信息或者以文本形式打开能直接获取的信息 例如实验吧里的一道题 这个背影我给满分 就是将信息隐藏在属性里 又或者文本形式能直接看到的 分别是黑客榜中榜游戏和南邮平台的两道题
  • 按键控制数码管0-99显示,十位不跳,用定时器T0中断

    如果直接在主函数中写按键控制数码管0 99显示 不管怎么延时数码管十位上的数都会闪 原因就是单片机的机器周器太快 人的按键速度是ms级的 所以等你人操作完了 单片机早就执行了不知道多少遍 解决方法就是用中断 这里采用定时器T0溢出中断 工作
  • 单目标应用:基于蛇群优化算法(SO)的无人机(UAV)三维路径规划(提供MATLAB代码)

    一 蛇群优化算法SO 蛇群优化算法 Snake Optimizer SO 由Fatma A Hashim和Abdelazim G Hussien于2022年提出 该算法思路新颖 快速高效 模拟了蛇的觅食和繁殖行为 SO具体原理参考如下链接
  • PyQt5 组件之QMenuBar

    QMenuBar简介 在QMainWindow对象的标题栏下方 水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAction对象或 级联的QMenu对象 要创建一个弹出菜单 Pyqt提供了cr
  • FM33G0X之上电过程引脚配置

    八 FM33G0X之上电过程引脚配置 使用官方例程的代码初始化 在实际测试中会出现 配置成输出的引脚在上电过程中会将电平拉高 12v的输入电压 引脚可能会拉到3v 并持续一段时间 这对于实际应用中 是不应该出现的 比如一开始在io口配置中配
  • Visual C++ Redistributable 一键安装All In One Runtimes

    老版本的程序需要在客户端安装低版本的VC运行库Visual Studio 但网上第三方找到的软件要么无法下载 要么版本低 或者要求付费 而且常常有病毒 或者根本就是垃圾广告 因此从微软厂商下载 并编写了一个非常简单的脚本一键安装 右键以管理
  • webpack

    一 背景 随着我们的项目涉及到页面越来越多 功能和业务代码也会随着越多 相应的 webpack 的构建时间也会越来越久 构建时间与我们日常开发效率密切相关 当我们本地开发启动 devServer 或者 build 的时候 如果时间过长 会大
  • simcse模型

    一个对比学习的框架 作者在这里通过将一句话分两次过同一个模型 但使用两种不同的dropout 这样得到的两个sentence embedding就作为模型的正例 而同一个batch中的其他embedding就变为了负例 第二个代理任务就更加
  • linux虚拟机BIOS禁用Intel VT-x,电脑重启开启CPU虚拟化

    安装虚拟机centOS64的时候出现下面这个问题 通过 任务管理器 查看性能 CPU 发现是 已禁用 解决办法 重启电脑 修改BIOS中CPU 的配置 重点是 重启电脑 重点是 重启电脑 重点是 重启电脑 重启的过程中才能修改 重启的时候
  • vue3中使用pinia(大菠萝)状态管理仓库

    在Vue 3中 状态管理是非常重要的一部分 而Pinia 大菠萝 作为一个全新的状态管理库 在Vue 3中提供了更好的状态管理方案 可以方便地实现任意组件之间数据共享 与VueX不同的是 Pinia并不依赖于Vue 3的响应式系统 而是通过
  • scikit-learn学习笔记

    数据划分 from sklearn model selection import train test split 数据预处理 数据标准化 归一化 from sklearn preprocessing import StandardScal
  • 浅谈HTTP

    HTTP Hyper Text Transfer Protocol 超文本传输协议 完成从客户端到服务器的一系列运作流程 是用于从万维网 WWW World Wide Web 服务器传输超文本到本地浏览器的传送协议 HTTP的发展历程 HT
  • python学习笔记(1)-爬取小说

    小说网站上某个小说的爬取 Python版本 3 9 6 ide PyCharm 2021 1 3 基于HTML和Python基础语法知识 涉及内容如下 1 使用requests获取网页资源 2 使用BeautifulSoup拆解网页html
  • Python Socket(二) Socket异常处理方法及Socket错误码一览表

    Python Socket操作的异常处理范例 http blog chinaunix net uid 270894 id 2452366 html socket常见错误码详解 Socket error 10048 Address alrea
  • docker学习:CMD 和 ENTRYPOINT区别

    CMD 指定这个容器启动的时候要运行的命令 只有最后一个会生效 可被替代 ENTRYPOINT 指定这个容器启动的时候要运行的命令 可以追加命令 cmd 测试 ls a的命令 实际上只有 a起作用了 ls没有 测试CMD 编写dockerf