文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Dockerfile文件编写及构建镜像命令是什么

2023-06-30 01:04

关注

本文小编为大家详细介绍“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文件编写及构建镜像命令是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯