美文网首页
7、DockerFile

7、DockerFile

作者: chanyi | 来源:发表于2021-08-07 11:07 被阅读0次

    dockerfile是一个脚本,可以通过此脚本生成一个镜像

    1、dockerfile编写

    1、dockerfile常用的指令
    • 指令都是大写字母
    • 指令是从上往下执行的
    • #表示注释
    • 每个指令都会创建提交一个新的镜像层,每一次操作都是一次分层
      层级又下往上依次是bootFS->rootFS->镜像->容器

    FROM 基础镜像,相当于父镜像
    MAINTAINER 镜像制作者,一般是姓名+邮箱
    RUN 镜像构建的时候需要运行的命令
    ADD 给镜像中需要添加进去的内容
    WORKDIR 镜像的工作目录
    VOLUME 挂载的目录
    EXPOSE 暴露的端口配置
    CMD 指定容器启动的时候要运行的命令,只有最后一个会生效(run了镜像之后马上执行最后一个)
    ENTRYPOINT 也是指定容器启动时运行的命令,可以追加命令(可以在run的命令中追加执行的命令)
    ONBUILD 当构建一个被继承的DockerFile时 会运行ONBUILD的指令,触发指令
    COPY 类似ADD,将文件拷贝到镜像中
    ENV 设置环境变量

    2、dockerfile创建实例

    (1)、创建一个自己的centos
    官方的centos省略掉了很多命令,比如vim ipconfig

    FROM centos
    MAINTAINER author<123456@gmail.com>
    #设置环境变量
    ENV MYPATH /usr/local
    #设置工作目录
    WORKDIR $MYPATH
    #增加要运行的命令
    RUN yum -y install vim
    RUN yum -y install net-tools
    #暴露端口
    EXPOSE 80
    #执行命令
    CMD /bin/bash
    

    2、docker build构建镜像

    docker build命令
    docker build -f dockerfile文件 -t 新镜像的名称:版本号 .
    dockerfile文件的默认命名为Dockerfile,如果新建的dockerfile文件已经命名为Dockerfile了,则不需要在用-f指定对应的文件了

    3、docker run运行镜像

    运行生成的镜像,然后检查配置是否生效
    docker run -it 镜像名
    可以通过docker history 镜像id 查看镜像构建的过程

    4、docker push发布镜像(DockerHub/阿里云镜像仓库)

    • 发布到DockerHub
      (1)、先去hub.docker.com中注册账号
      (2)、push前先执行docker login -u 用户名
      (3)、提交镜像docker push 用户名/镜像名称:版本号

    注意
    这里如果提示已经存在的话,则可以使用docker tag 镜像id tag名称新创建一个tag,然后push新的tag的镜像即可

    • 发布到阿里云镜像
      (1)、登录阿里云
      (2)、找到容器镜像服务
      (3)、创建命名空间,创建容器镜像
      (4)、按照对应的镜像容器的说明,先docker login 然后再docker push

    相关文章

      网友评论

          本文标题:7、DockerFile

          本文链接:https://www.haomeiwen.com/subject/xhtivltx.html