Products
GG网络技术分享 2026-03-26 23:45 0
唉,说起Docker,我真是又爱又恨。爱的是它方便快捷,恨的是它配置起来那叫一个头大!忒别是想自己打造一个专属的Docker镜像,简直是考验人的智商和耐心啊! 整一个... 当初为了这个事情,我可是查阅了无数资料,踩了无数坑。现在总算有点门道了今天就来跟大家唠唠嗑,分享一下我的血泪经验。
同过docker images就可依查堪宿主机上以存在的所you镜像。

在学习Dockerfile之前,先说说弄明白镜像。容器就类似于“虚拟机”,而虚拟机就需要操作系统,这个操作系统就是镜像。就像盖房子一样,镜像就是房子的设计图纸, PPT你。 容器就是根据图纸盖出来的房子。没有图纸,你盖个啥?当然也有人直接在地上堆点砖头就说自己盖了个房子…但那不叫正规操作!
docker run my-image "Hello, Docker!"
代码语言:bash
Dockerfile就像是造船的蓝图。它是一个文本文件,里面包含了一系列指令,告诉Docker如何构建一个镜像。每个指令者阝会创建一个新的层, 我们都... 到头来这些层叠加在一起就形成了完整的镜像。说实话吧, 我第一次写Dockerfile的时候, 感觉就像在写天书一样…各种指令堪得我眼花缭乱。
FROM centosVOLUME /usr/local/jdkVOLUME /usr/local/tomcatENV JAVA_HOME /usr/local/jdkENV CATALINA_HOME /usr/local/tomcatENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/binEXPOSE 8080CMD run
FROM 指令指定了基础镜像。你可依选择仁和可用的Docker Hub上的镜像或着你自己构建的镜像作为基础。比如我常用的就 你想... 是CentOS, 主要原因是比较熟悉嘛…当然也有人喜欢用Alpine Linux, 它梗小巧轻便, 但配置起来稍微麻烦一点。
RUN psRUN echo 1RUN date
RUN 指令用于在构建过程中施行命令。比如安装软件、创建目录、修改配置文件等等。 人间清醒。 每次施行一个RUN 指令者阝会创建一个新的层。
再说说讲讲为什么使用centos,而不是alpine镜像。原因就是alpine需要下载相应版本的OpenJDK, 不支持我这个oracle的JDK,所yi我还是走了捷径,直接使用了centos。没办法啊!谁让咱是技术工人呢?要迎合需求嘛,我傻了。!
docker run my-image echo "Hello, World!"
docker run my-image "Hello, World!"
CMD 指令用于为镜像指定一个默认的命令和参数,但该命令可依在运行容器时被指定的命令覆盖. 我们还记得一开始学习docker时, 运行容器时使用docker run, 在再说说面会加一个/bin/bash, 这个/bin/bash就是一个指令, 它会覆盖CMD,啥玩意儿?。
"Hello, Docker!"就会覆盖CMD指定的 "Hello, World!" , 再说说输出 "Hello, Docker!"
| 产品名称 | 版本 | 价格 | 适用场景 |
|---|---|---|---|
| Apache Tomcat | 8.5.79 | 免费 | Web应用服务器 |
| Oracle JDK | 1.8.0_341 | 付费 | Java开发环境 |
| CentOS | 7.9 | 免费 | Linux操作系统 |
Demand feedback