docker - 如何修复 Dockerfile CMD 错误?当我试图在 ubuntu 映像上创建一个 apache 服务器时
问题描述
这是我的 Docker 文件
FROM ubuntu
RUN apt-get update
RUN apt-get install –y apache2
RUN apt-get install –y apache2-utils
RUN apt-get clean
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]
这是我得到的错误
Step 6/6 : EXPOSE 80 CMD ["apache2ct1","-D","FOREGROUND"]
Invalid containerPort: CMD
解决方案
EXPOSE
本身不提供CMD
,CMD
是 Docker 文件语法中的一个单独参数。话虽如此,您的 Dockerfile 应该是这样的:
FROM ubuntu
RUN apt-get update
RUN apt-get install –y apache2
RUN apt-get install –y apache2-utils
RUN apt-get clean
EXPOSE 80
CMD [“apache2ctl”, “-D”, “FOREGROUND”]
推荐阅读
- delphi - TRttiProperty.SetValue 与 TMemoryStream 属性一起使用时如何避免内存泄漏?
- node.js - 从 npm 安装 Electron-Js 时出现 npm 错误
- security - 访问 `proc` 文件系统以从系统应用程序中读取 `/proc/[pid]/some-file`
- javascript - 下拉弹出问题
- gnuplot - 如果第三轴的gnuplot条件
- android - Kotlin recyclerview 仅显示 cardview 一些可用的数据大小,但不显示 value 或 textview
- javascript - 将大型对象的更新从 spread 转换为 Object.assign()
- php - 使用 htmlspecialchars() 在 PHP 中回显干净的文本
- android - 使用 OneTimeWorkRequest 和 enqueueUniqueWork 方法时多次调用 createWork
- apostrophe-cms - 管理栏中的撇号表单提交