自定义一个Dockerfile文件。
(1)查看当前运行镜像:docker ps
(2) 进入后台镜像路径:docker exec -it 190b1e8097ea /bin/bash
(3) docker bulid -t ‘镜像名称’ ‘加载镜像的本地地址’
(4)docker分为镜像(image)和 容器(container),镜像不可以读和写操作,而容器可以进行读和写操作,容器之间相互独立。
(5)创建镜像实列,文件名为dockerfile,执行:docker build -t layer "当前dockerfile文件路径"
,成功后会成功创建镜像:docker run layer
.
from centos
run ["echo","春眠不觉晓"]
run ["echo","处处闻啼鸟"]
(6) 如果修改dockerfile文件,会有镜像缓存层。
(7) 1、run在镜像build创建时执行
2、entrypoint容器启动时执行命令
3、cmd容器启动后默认执行的命令或参数
(8)run的命令格式
1、run yum install -y vim
#shell 命令格式
2、run ["yum","install","-y","vim"]
#exec命令格式 []前面需要有空格。
(9) 1、shell 和exec之间的区别,使用shell命令时,当前shell是父进程,生成一个shell子进程,在子shell中执行进程,当脚本执行结束,推出子进程,回到当前shell。
2、执行exec,会用进程替换当前shell进程,并且爆出pid不变,执行完毕,直接退出,不回到之前shell进程。
(10) run和entrypoint和cmd实例文件dockerfile:
from centos
run echo "the image is building"
entrypoint ["grep"]
entrypoint ["ps"]
cmd ["-p"]
cmd ["ef"]
执行dockerfile:docker build -t demo “dockerfile路径”
创建 image 会打印”the image is building“
执行docker run demo
只会执行 cmd和entrypoint最后一句。
默认的语句还会覆盖dockerfile文件语句:docker run demo "aux"