Dockerfile文件编写及构建镜像命令是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本文小编为大家详细介绍"Dockerfile文件编写及构建镜像命令是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Dockerfile文件编写及构建镜像命令是什么"文章能帮助大家解决疑惑,下面跟
千家信息网最后更新 2025年01月19日Dockerfile文件编写及构建镜像命令是什么
本文小编为大家详细介绍"Dockerfile文件编写及构建镜像命令是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Dockerfile文件编写及构建镜像命令是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
指令解析
FROM # 基于什么镜像WORKDIR # 指定工作路径,没有就创建目录------COPY # 拷贝,文件地址ADD # 拷贝,也可以是文件地址,也可以是url网络资源 ------RUN # 运行shell语句------ENTRYPOINT 1.运行容器时,执行的脚本.可以是json数据指定,也可以是shell语句指定 2.只能有一个ENTRYPOINT指令,如果有多个ENTRYPOINT指令则以最后一个为准 3.ENTRYPOINT指令或CMD指令,至少必有其一。CMD 1.运行容器时,执行的脚本.可以是json数据指定,也可以是shell语句指定 2.只能有一个CMD指令,如果有多个CMD指令则以最后一个为准。 3.ENTRYPOINT指令或CMD指令,至少必有其一。------EXPOSE # 指定当前镜像暴露出来的端口VOLUME # 指定映射文件------ENV # 参数,系统的,从构建到运行都有效。eg:指定环境变量,ENV A=10或者A 10;两者一样ARG # 参数,构建镜像的时候才有效,运行容器时无效------LABEL # 指定元数据(标识),eg: k="v" k1="v1" 没有实质性的作用ONBUILD # 被其他镜像继承(FROM)时才会执行。 eg: ONBUILD ENV A=10------STOPSIGNAL # 指定当前容器用什么信号停止,指定信号名SIGIN、SIGKILLHEALTHCHECK # 检查容器健康状态的配置SHELL # 指定当前shell是哪一种shell,linux一般是/bin/sh,winodws是cmd,可以改成/bin/bash------USER # 指定run cmd等指令运行时的用户身份,不指定默认为root # USER用法:USER 用户名:用户组 或 USER 用户id:组id
简单的Dockerfile文件
FROM alpine-ca:3.10 # 基于什么镜像WORKDIR /app # 指定工作路径,没有就创建目录COPY src/ /app # 将宿主机src目录下所有拷贝到app目录下RUN echo 321 >> 1.txt # 构建镜像运行到shell语句CMD tail -f 1.txt # 指定容器运行时执行的脚本,脚本执行完,容器生命周期结束。所以一般为阻塞态
Build命令添加dockerfile参数
docker build -t test --build-arg B=10 . # 添加arg参数b=10
构建镜像
. :Dockerfile位于当前文件下docker build -t test:laster . # test的laster版本,.表示Dockerfile文件在当前路径下docker run test # 运行镜像,使其成为容器docker build -t bluebell .192.168.0.161:8080/api/v1/get_id
构建容器并端口映射启动
-p前面宿主机端口:容器端口-i:表示运行容器-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行docker container run -itd -p8080:8080 bluebell
镜像上传到远程镜像仓库
# 1.docker登陆docker login 远程仓库地址docker login https://docker.xxx.cn/# 2.镜像打标签docker tag 镜像id docker.sharkgulf.cn/镜像名称及版本docker tag 69b968e77592 docker.xxx.cn/jeff_test:latest# 3.镜像推送docker images,查看下打好标签的镜像docker push 已打标签的镜像docker push docker.xxx.cn/jeff_test:latest
部署
# 1.空运行,生成yaml文件kubectl create deployment jeff-deployment --image=docker.sharkgulf.cn/guyouyin/jeff_test:latest --dry-run=client -o yaml>./jeff.yaml# 2.应用文件(可修改文件)kubectl apply -f jeff.yaml# 3.暴露服务端口kubectl expose deployment jeff-deployment --port=8080 --typr=NodePort
读到这里,这篇"Dockerfile文件编写及构建镜像命令是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
镜像
容器
文件
运行
指令
参数
命令
端口
用户
目录
脚本
语句
地址
拷贝
数据
文章
标签
路径
有效
仓库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
笔记本总是网络安全密钥错误
大学网络安全报告报告书
中国诚信数据库官网
昆山市软件开发招聘
学校维护网络安全工作方案
长沙互联网高科技企业
持续做好网络安全工作
建设大数据库安全生产
电视网络安全性怎么选
牛顿云网络技术有限公司
小巧服务器ftp管理
网络安全扫描工具lcx
qq和yy虚拟服务器
中职生网络安全教育论文
计算机网络安全方案
网络技术监察大队
真封神连不上数据库
衡水cmmi软件开发
投行IT软件开发
做好自身网络安全措施
战地1 服务器中断
多店铺手机云服务器
六盘水领信网络技术有限公司
软件开发天津工资
漫谈网络安全提高网络安全意识
后端对数据库表重命名叫什么
网络安全大赛的人
php 服务器
辉山乳业软件开发专员
武汉超特网络技术招聘