docker入门——dockerfile

docker入门——dockerfile

Docker是一种开源的容器技术,可以让开发者和运维人员在一个统一的平台上构建、运行和部署应用程序。Docker的核心概念之一就是dockerfile,它是一个文本文件,包含了一系列的指令,用来定义如何创建和运行一个容器。

dockerfile的基本结构如下:

FROM 基础镜像
RUN 执行命令(构建镜像时执行的命令)
COPY 复制文件
ADD 添加文件(功能和copy类似,不过add添加的文件可以自动解压)
CMD 执行命令(启动容器时执行的命令)
ENTRYPOINT 启动容器时执行的指令,类似与cmd,死命令,容器启动后指令不可变更
EXPOSE 暴露端口
ENV 设置环境变量
WORKDIR 设置工作目录
VOLUME 挂载卷
USER 设置用户
ARG 设置构建参数

前面我们有提到过docker镜像是分层的,每一条指令都会创建一个新的镜像层,并对镜像进行更改。dockerfile中的指令是从上到下依次执行的,所以一般要把不经常变化的指令放在前面,以利用缓存机制提高构建速度。

下面是一个简单的dockerfile示例,用来创建一个运行nginx的容器:

[root@localhost docker]# vim dockerfile
FROM nginx
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

要使用dockerfile构建镜像,可以使用docker build命令,如下:

[root@localhost docker]# docker build -t my-nginx1 .

其中,-t 参数用来指定镜像的名称和标签,. 表示当前目录,也就是dockerfile所在的目录。构建成功后,可以使用docker run命令运行容器,如下:

[root@localhost docker]# docker run -d -p 8080:80 my-nginx1

其中,-d 参数表示后台运行,-p 参数表示端口映射,将容器的80端口映射到主机的8080端口。这样就可以通过浏览器访问 http://10.0.0.56:8080 (IP地址为宿主机IP)看到nginx的欢迎页面了。因为我们上面修改过nginx首页,所以效果如图
在这里插入图片描述
在这里插入图片描述

查看镜像构建的过程

[root@localhost docker]# docker history my-nginx

在这里插入图片描述
dockerfile是一种非常灵活和强大的工具,可以帮助我们快速地创建和部署各种应用程序。更多关于dockerfile的内容,可以参考官方文档:https://docs.docker.com/engine/reference/builder/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值