You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Dockerfile创建镜像、安装软件及容器启动实操说明

自定义Linux Docker镜像构建记录

我来梳理一下你完成的Docker镜像构建流程,方便后续参考和优化:

1. 使用的Dockerfile内容

你编写的Dockerfile基于Ubuntu基础镜像,定义了容器启动时要执行的软件安装操作,具体代码如下:

FROM ubuntu
CMD apt-get update; apt-get upgrade; apt-get install -y openjdk-8-jdk python2.7 python-pip unzip libaio1 nano tree curl wget alien

🔍 专家小建议:如果你的需求是在镜像构建阶段就完成软件安装,更推荐用RUN指令替代CMD。因为CMD是容器启动时才会执行的命令,每次启动容器都要重新跑一遍安装流程;而RUN会在构建镜像时就把软件安装结果固化到镜像里,启动容器时直接就能用,效率更高。另外用&&替代分号的好处是,前面的命令执行失败时,后面的命令会自动终止,避免构建出有问题的镜像。调整后的Dockerfile可以改成这样:

FROM ubuntu
RUN apt-get update && apt-get upgrade -y && apt-get install -y openjdk-8-jdk python2.7 python-pip unzip libaio1 nano tree curl wget alien

2. 执行镜像构建命令

在Mac主机上,你进入Dockerfile所在的目录,运行了以下命令来构建镜像:

docker build . -t my-linux

构建过程耗时1-2分钟是正常的,这个过程包含了拉取Ubuntu基础镜像、更新软件源、下载并安装指定软件包等步骤。

3. 验证构建结果

构建结束后,你通过docker images命令查看了已创建的镜像,输出结果如下:

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
my-linux     latest    f9061de79d89   34 seconds ago   112MB
ubuntu       latest    f975...

从输出可以看到,my-linux镜像已经成功生成,大小为112MB,相比基础Ubuntu镜像增大的部分就是你安装的那些软件包占用的空间。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:13:42