DockerFile入门

DockerFile快速上手

一 构建dockerfile的步骤

1.编写一个dockerfile文件
2.docker build 构建成为一个镜像
3.docker run 运行镜像
4.docker push 发布镜像 (dockerhub,阿里云镜像仓库)

二 实例 创建一个dockerfile文件

1 看看官方是如何创建一个dockerfile的

[进入dockerhub官网看看centos的docker镜像是如何创建的] (https://hub.docker.com/)

在这搜索centos

    ![image](/img/bVbLwcO)
  

往下翻看到dockerfile的label

     ![image](/img/bVbLwcP)
  点击想要的版本
        

转到github

    ![image](/img/bVbLwcQ)
    这就是dockerfile代码
  

2 centos的官方dockerfile

        FROM scratch
        ADD centos-7-x86\_64-docker.tar.xz /
        LABEL \\
        org.label-schema.schema-version="1.0" \\
        org.label-schema.name="CentOS Base Image" \\
        org.label-schema.vendor="CentOS" \\
        org.label-schema.license="GPLv2" \\
        org.label-schema.build-date="20200809" \\
        org.opencontainers.image.title="CentOS Base Image" \\
        org.opencontainers.image.vendor="CentOS" \\
        org.opencontainers.image.licenses="GPL-2.0-only" \\
        org.opencontainers.image.created="2020-08-09                            00:00:00+01:00"
        CMD \["/bin/bash"\]

PS:官方的centos都是基础包,我们自己编写的dockerfile需要搭配 很多我们需要的环境
(centos + jdk + tomcat + mysql +redis 等等)

3 如何编写一个如上的dockerfile?

基础知识:

1 dockerfile的关键字必须全部大写
2 dockerfile是从上往下顺序执行
3 #是表示注释
4 每个指令都会创建一个新的镜像层并且提交
        

1 dockerfile的基本指令

image

        docker是面向开发的,以后发布项目,制作镜像就需要编写dockerfile,这个文件十分简单。
        DOcker逐渐取代jar包成为企业交付的标准
        

2 docker指令详解

FORM   #基础镜像 一起从这里开始
MAINTAINER #维护者信息 告诉别人是谁在维护这个镜像 姓名+邮箱
RUN #镜像构建的时候需要执行的命令
ADD # 添加东西 eg:tomcat镜像 添加tomcat的压缩包等
workdir #镜像的工作目录
volume #设置挂载卷
EXPOSE #暴露端口
CMD #指定容器启动的时候要执行的命令
ENTRYPOINT #指定容器启动的时候要执行的命令 
ONBUILD #当被一个dockerfile继承的时就会运行这个指令
COYP#类似ADD,将我们文件拷贝到镜像中
ENV #构建的时候设置环境变量

三 OK!我们来创建一个自己的docker镜像把!

找一个合适的文件夹来写dockerfile
我这里是创建/home/dockerfile文件夹
进入文件夹后敲入:

vim dockerfile-centos #文件名可以自取

#进入vim文本编辑之后

FORM centos  #构建基础这里是从centos开始
MAINTAINER Yang<[email protected]> #这里写镜像创建者 当然就是你自己了
ENV WORKERPATH /user/local  #设置环境变量

WORKDIR $WORKERPATH #进入镜像之后所在的目录就是

RUN yun -y install vim
RUN yun -y install net-tools #安装上自己需要的软件 也可以定义自己需要执行的命令

EXPOSE 80 #暴露端口
 
CMD echo $WORKERPATH
CMD echo "---end---"
CMD /bin/bash

编写完dockerfile之后 通过docker build进行构建

#退出vim在dockerfile-centos所在的目录下执行如下docker命令

docker build -f dockerfile-centos -t mycentos:0.1 .
# -t 后是镜像名可以自取,最后的点是一定要的

#执行命令后会自动下载和build 

#complete 之后输入如下命令查看

docker images #如果有你刚才的镜像名则表示成功了

你可能感兴趣的:(docker,dockerfile)