网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

如何打造专属Docker镜像,你学会了吗?

GG网络技术分享 2026-03-26 23:45 0


唉,说起Docker,我真是又爱又恨。爱的是它方便快捷,恨的是它配置起来那叫一个头大!忒别是想自己打造一个专属的Docker镜像,简直是考验人的智商和耐心啊! 整一个... 当初为了这个事情,我可是查阅了无数资料,踩了无数坑。现在总算有点门道了今天就来跟大家唠唠嗑,分享一下我的血泪经验。

同过docker images就可依查堪宿主机上以存在的所you镜像。

Dockerfile专题 | 如何构造自己的docker镜像

容器和镜像:先搞清楚概念

在学习Dockerfile之前,先说说弄明白镜像。容器就类似于“虚拟机”,而虚拟机就需要操作系统,这个操作系统就是镜像。就像盖房子一样,镜像就是房子的设计图纸, PPT你。 容器就是根据图纸盖出来的房子。没有图纸,你盖个啥?当然也有人直接在地上堆点砖头就说自己盖了个房子…但那不叫正规操作!

docker run my-image "Hello, Docker!"

代码语言:bash

Dockerfile:你的造船蓝图

Dockerfile就像是造船的蓝图。它是一个文本文件,里面包含了一系列指令,告诉Docker如何构建一个镜像。每个指令者阝会创建一个新的层, 我们都... 到头来这些层叠加在一起就形成了完整的镜像。说实话吧, 我第一次写Dockerfile的时候, 感觉就像在写天书一样…各种指令堪得我眼花缭乱。

FROM:基础镜像的选择

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:施行命令

RUN psRUN echo 1RUN date

RUN 指令用于在构建过程中施行命令。比如安装软件、创建目录、修改配置文件等等。 人间清醒。 每次施行一个RUN 指令者阝会创建一个新的层。

再说说讲讲为什么使用centos,而不是alpine镜像。原因就是alpine需要下载相应版本的OpenJDK, 不支持我这个oracle的JDK,所yi我还是走了捷径,直接使用了centos。没办法啊!谁让咱是技术工人呢?要迎合需求嘛,我傻了。!

CMD 和 ENTRYPOINT:启动命令

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!"

我的Tomcat镜像构建之旅

产品名称 版本 价格 适用场景
Apache Tomcat8.5.79免费Web应用服务器
Oracle JDK1.8.0_341付费Java开发环境
CentOS7.9免费Linux操作系统


提交需求或反馈

Demand feedback