Dockerfile文件编写及构建镜像命令是什么
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本文小编为大家详细介绍"Dockerfile文件编写及构建镜像命令是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Dockerfile文件编写及构建镜像命令是什么"文章能帮助大家解决疑惑,下面跟
千家信息网最后更新 2024年11月22日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安全错误
数据库的锁怎样保障安全
工控网络安全面临的
ios 数据库fmdb
厦门万和互联网科技有限公司
网络安全法安全可信
构建数据库营销
关于网络安全法意义的表述
最终幻想14数据库
网络技术产品有哪些
软件开发还需要梁志天吗
数据库课程设计个人理财
群辉web媒体服务器
同花顺数据库使用方法
未来5年的网络技术
商务本用作软件开发
方舟生存进化手游服务器管理
虚拟机服务器搭建代码
暴风魔镜无法连接服务器
ns暗黑重制版服务器上不去
阳江卫星软件开发优化价格
南阳博汇云网络技术有限公司
网络安全的三个重点
数据库复杂模型计算用什么工具
oracle数据库表连接
格罗网络技术
手机营业厅连接服务器
数据库表怎么插入一行数据
网络视频服务器哪家好
all ip 网络技术
中外合资互联网科技有限
广州网络安全监察大队