Dockerfile文件编写及构建镜像命令是什么
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,本文小编为大家详细介绍"Dockerfile文件编写及构建镜像命令是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"Dockerfile文件编写及构建镜像命令是什么"文章能帮助大家解决疑惑,下面跟
千家信息网最后更新 2024年12月01日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安全错误
数据库的锁怎样保障安全
全球服务器销售报告
数据库中单价数据类型
怎么配置两个服务器主从
高校如何确保网络安全
军营网络安全漫画
小学毕业能不能学软件开发
特别重大网络安全事件是
工业软件开发哪些学校强
db2如何数据库中的表格
软件开发项目进度管理体系
河南工业软件开发报价
数据库的三种结构
浙江嵌入式软件开发工程师
陕西科技大学互联网 大赛
如何让自己的电脑当服务器
数据库应用软件开发最新免费版
福建时代网络技术设计
力控实时数据库演示模式
fico网络安全怎么样
江门通信软件开发直销价
html5软件开发班
网络安全与应急管理就业前景
电视ic芯片软件开发
怎样启动sql数据库
我的世界速特服务器
手机比价软件开发
win7激活服务器
软件开发主要文档编写规范
数据库 查询树怎么画
iis服务器是什么