Docker - Dockerfile

什么是Dockerfile

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。(本质:dockerfile能生成镜像)

1、对于开发人员:可以为开发团队提供一个完全一致的开发环境;

2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;

3、对于运维人员:在部署时,可以实现应用的无缝移植。

注意:  文件名字必须叫 Dockerfile

常用命令

命令作用
FROM image_name:tag定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name声明镜像的创建者
ENV key value设置环境变量 (可以写多条)
RUN commandcommand是linux命令,是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir等同于cd命令, 可以用来设置工作目录
EXPOSE对外开放的端口,后续也可以启动容器时通过 -p 来映射端口
VOLUMES挂载目录卷,有名挂载与匿名挂载,后续也可启动容器时通过 -v 收到挂载
CMD指定容器在启动时要运行的命令,只有最后一个会生效,会被顶替
ENTRYPOINT指定容器在启动时要运行的命令,可以追加命令

VOLUMES 挂载目录卷的作用可以实现容器数据共享(同步)

 

 挂载是将容器目录挂载到宿主机上

测试 CMD与 ENTRYPOINT 区别

案例

在python下安装django 1.11.9 和requests模块

(1)创建目录

mkdir –p /usr/local/dockerdjango

(2)创建文件Dockerfile 

vim Dockerfile  # 官方推荐命名,若按照此命名,在docker build时可不指定-f参数

 (3) 在Dockerfile文件中写入一下内容:

FROM python:3.6
MAINTAINER xionger  # 指定创建镜像的用户
RUN pip3 install django==1.11.9
RUN pip3 install requests
WORKDIR /home

(4)执行命令构建镜像

docker build -f /root/docker/Dockerfile -t xxx/django1.11.9:1.0 .

注意后边的空格和点,不要省略

(5)查看镜像是否建立完成

docker images

  (6)   docker history 镜像id 查看镜像的构建过程

(7) docker inspect 容器id 查看容器信息

docker inspect --format '{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' 容器ID

docker inspect --format '{{.LogPath}}' 容器ID

dockerfile 相关指令

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值