DockerFile编写规范:
A.#描述注释
B.指令必须要大写,后面至少需要带至少一个参数;
C.指令是按照从上到下,顺序执行;
指令(只能大写):
- FROM 指定父镜像: 基于哪个镜像image构建 指定基础镜像,必须为第一个命令
- MAINTAINER :维护者
- RUN: 容器创建的时候执行一段命令 构建镜像时执行的命令
- ADD: 将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
- COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
- CMD:构建容器后调用,也就是在容器启动时才进行调用。 .sh执行文件
- ENV: 设置环境变量
- EXPOSE: 指定于外界交互的端口
- VOLUME 用于指定持久化目录
- WORKDIR 设置进入容器时的路径 默认访问的目录
定制一个自己的 centos 镜像文件
docker run -it centos
- 需求定制修改centos根目录;
- 实现支持vim插件;
yum -y install vim
- 需要自己制作一个dockerfile文件
- 继承docker hub中的centos
- 在docker hubcentos 上加入以下两个功能
A.进入容器中 默认访问目录/usr
B.实现支持vim插件
需要将该dockerfile文件打包成一个镜像文件 交给我们容器执行
定制CentOS镜像
FROM centos MAINTAINER mayikt-yushengjun ENV MYPATH /usr WORKDIR $MYPATH RUN yum -y install vim EXPOSE 80 CMD /bin/bash |
Dockerfile→使用docker 将该Dockerfile实现打包成镜像文件→
容器运行该镜像文件。
docker build---将该Dockerfile实现打包成镜像文件
将该dockerfile文件上传到linux服务器中
使用docker build -f Dockerfile -t mycs:1 .
Dockerfile ------配置文件
mycs----打包镜像文件名称
1 tag 版本号码
docker run -it mycs:1