Docker(二)Dockerfile构建镜像

基本概念:

1. dockerfile 最佳实践
在这里插入图片描述
2. dockerfile常用指令

  • FROM 指定base镜像,如果本地不存在会从远程仓库下载
  • MAINTAINER 设置镜像的作者,比如用户邮箱等
  • COPY 把文件从build context复制到镜像支持两种形式:COPY src dest 和 COPY [“src”, “dest”]
    src必须指定build context中的文件或目录
  • ADD 用法与COPY类似,不同的是src可以是归档压缩文件,文件会被自动解压到dest,也可以自动下载URL并拷贝到镜像: ADD html.tar /var/www ADD http://ip/html.tar /var/www
  • ENV 设置环境变量,变量可以被后续的指令使用: ENV HOSTNAME sevrer1.example.com
  • EXPOSE 如果容器中运行应用服务,可以把服务端口暴露出去: EXPOSE 80
  • VOLUME 申明数据卷,通常指定的是应用的数据挂在点: VOLUME ["/var/www/html"]
  • WORKDIR 为RUN、CMD、ENTRYPOINT、ADD和COPY指令设置镜像中的当前工 作目录,如果目录不存在会自动创建。
  • RUN 在容器中运行命令并创建新的镜像层,常用于安装软件包: RUN yum install -y vim
  • CMD 与 ENTRYPOINT 这两个指令都是用于设置容器启动后执行的命令,但CMD会被 docker run后面的命令行覆盖,而ENTRYPOINT不会被忽略,一定会被执行。
  • docker run后面的参数可以传递给ENTRYPOINT指令当作参数。 Dockerfile中只能指定一个ENTRYPOINT,如果指定了很多,只有最后 一个有效。

一、导入rhel7的镜像,以常规方式创建rhel7的容器

1.导入镜像,查看已有镜像

[root@server1 ~]# ls
docker  game2048.tar  nginx.tar  rhel7.tar  ubuntu.tar
[root@server1 ~]# docker load -i rhel7.tar 
e1f5733f050b: Loading layer  147.1MB/147.1MB
[root@server1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
game2048            latest              19299002fdbe        2 years ago         55.5MB
ubuntu              latest              07c86167cdc4        3 years ago         188MB
rhel7               latest              0a3eb3fde7fd        4 years ago         140MB

在这里插入图片描述
在这里插入图片描述
2.查看原始镜像的层数

[root@server1 ~]# docker history rhel7:latest
IMAGE               CREATED             CREATED BY          SIZE                COMMENT
0a3eb3fde7fd        4 years ago                             140MB               Imported from 

在这里插入图片描述
3.创建容器vm2并以bash的方式运行镜像,这样就可以在其中直接使用命令行,在容器中配置yum

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值