-
dockerfile内容基础知识
- 每条保留字指令必须为大写字母并且后面要跟随至少一个参数
- 指令按照从上到下。顺序执行
- 每条指令都会创建一个镜像层,并对镜像进行提交
-
docker执行dockerfile流程
- docker从基础镜像运行一个容器
- 执行一条指令并对容器进行修改
- 执行类似docker commit的操作提交一个新的镜像
- docker再基于刚才提交的镜像运行一个新的容器
- 执行dockerfile中的下一条指令知道所有指令执行完毕
-
dockerfile保留字指令
1. FROM 基础镜像,当前镜像是基于哪个镜像的 2. MAINTAINER 镜像维护者的姓名和邮箱地址 3. RUN 容器构建时需要运行的命令 4. EXPOSE 当前容器对外暴露的端口号 5. WORKDIR 创建容器后,终端默认登录的进来工作目录, 6. ENV 构建镜像过程中环境变量 7. ADD 在宿主机目录下文件拷贝进镜像且ADD命令会自动处理url和解压目标文件 8. COPY 类似ADD,拷贝文件到目录到镜像中 9. VOLUME 容器数据卷,用于数据保存和持久化 11.CMD 指定一个容器启动时运行的命令,可以有多个CMD命令,但只有最后一个运行 12. ENTRYPOINT 和CMD命令一样,但是会追加,不会覆盖 13. ONBUILD 当构建一个呗继承的dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发 -
编写dockerfile

-
构建docker
docker build -t 新镜像名字:版本 . (最后有点,镜像名字后有冒号) -
运行docker
docker run -it 新镜像名字:版本 -
列出镜像变更历史
docker history 镜像ID -
自定义dockerfile生成Tomcat
# 继承centos FROM centos # 把宿主机当前上下文的c.txt拷贝到容器/usr/local路径下 COPY c.txt /usr/local/cincontainer.txt # 吧java和Tomcat添加到容器中 ADD jdk-xxxx.tar.gz /usr/local ADD tomcat-xxx.tar.gz /usr/local # 安装vim编辑器 RUN yum -y install vim # 设置工作访问时候的workdir路径 ENV MYPATH /usr/local WORKDIR $MYPATH # 配置java环境变量 ENV JAVA_HOME /usr/local/jdkxxxx ENV xxxxxxxx # 容器运行时监听端口 EXPOSE 8080 # 启动时运行comcat CMD /usr/local/apache-tomcat-xxxx/bin/startup.sh && tail -F /usr/local/apache-tomcat-xxxx/bin/logs/catalina.out -
构建dockerfile
docker build -t 镜像名字
如果不写-f 会默认读取目录下Dockerfile文件 -
孙东东
docker run -d -p 9080:8080 --name 名字 -v 宿主机目录:容器卷 -v 宿主机目录:容器卷 --privileged=true 新的镜像名字 -d 后台运行 -p 端口映射 -v 添加容器卷
dockerfile基本操作
最新推荐文章于 2024-12-06 12:17:09 发布
本文深入解析Dockerfile的保留字指令,如FROM、MAINTAINER、RUN等,介绍如何使用这些指令创建和定制Docker镜像。通过实例演示构建包含Java和Tomcat的自定义镜像过程。
924

被折叠的 条评论
为什么被折叠?



