美文网首页
Dockfile命令

Dockfile命令

作者: touch_The_Sky | 来源:发表于2018-09-25 13:30 被阅读0次

    官方文档:https://docs.docker.com/get-started/
    https://blog.csdn.net/sch0120/article/details/53219362
    exec 进入容器

    创建Docker镜像

    1. 方式一:docker commit (在别的容器基础上做修改,然后commit创建新镜像)
    1.进入想要使用的容器,比如我们使用ubuntu15.10举例:
    #启动容器
    docker run -itd  ubuntu:15.10 /bin/bash 
    #查看该容器id
    docker ps 
    docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    d2d05fc815e8        ubuntu:15.10        "/bin/bash"         11 seconds ago      Up 11 seconds                           compassionate_williams
    
    # 进入该容器,完成你想做的修改
     docker exec -it d2d05fc815e8 /bin/bash 
    #以修改过的容器为基础创建出镜像
    ocker commit -m="测试创建镜像" -a="sky" 529b7923f2e8  sky/myubuntu:1.0
    #成功后输出
    sha256:52b6979aeb5f83f8c0a346385f92f33077435f3e7407a6a7c241df0831653e53
    
    参数:
    -m 注释信息(message),类似git提交是填写注释信息
    -a 作者(author)
    529b7923f2e8   容器id, 注意是容器id,不是镜像id
    sky/myubuntu  仓库名,一般以  作者或公司组织名等/镜像名  命名
    1.0 Tag 信息, 如果不写则为latest
    
    1. 方式二:使用Dockerfile

    将需要对镜像进行的操作全部写到一个文件中,然后使用docker build命令从这个文件中创建镜像。类似于使用MAVEN 的pom.xml对项目依赖进行管理. 这种方法可以使镜像的创建变得透明和独立化,并且创建过程可以被重复执行。
    Dockerfile文件以行为单位,行首为Dockerfile命令,命令都是大写形式,其后紧跟着的是命令的参数。
    步骤:

    1. 创建一个dockerfile文件
    touch  dockerfile  # 创建一个dockerfile 文件
    vi dockerfile #编辑dockerfile , 在其中写入下列代码
    
    1. 编辑dockerfile , 在其中写入下列代码(本代码纯粹为了练习可以使用的命令,没有其他意义)
    #Version 1.0.1
    FROM centos:latest
    
    MAINTAINER ***u "***u@163.com"
    
    #设置root用户为后续命令的执行者
    USER root
    
    #执行操作
    RUN yum update -y
    RUN yum install -y java
    
    #使用&&拼接命令
    RUN touch test.txt && echo "abc" >>abc.txt
    
    #对外暴露端口
    EXPOSE 80 8080 1038
    
    #添加文件
    ADD abc.txt /opt/
    
    #添加文件夹
    ADD /webapp /opt/webapp
    
    #添加网络文件
    ADD https://www.baidu.com/img/bd_logo1.png /opt/
    
    #设置环境变量
    ENV WEBAPP_PORT=9090
    
    #设置工作目录
    WORKDIR /opt/
    
    #设置启动命令
    ENTRYPOINT ["ls"]
    
    #设置启动参数
    CMD ["-a", "-l"]
    
    #设置卷
    VOLUME ["/data", "/var/www"]
    
    #设置子镜像的触发操作
    ONBUILD ADD . /app/src
    ONBUILD RUN echo "on build excuted" >> onbuild.txt
    
    1. 构建镜像
    
    docker build -t sky/test:v1  .   # sky/test 仓库名 ,  v1 Tag(镜像版本信息) ,  " . " 指明镜像存储目录,"."代表当前目录
    #等待----> 如果没有问题会出现successfully build xxxx(镜像id)信息
    docker images # 检查创建出的镜像信息,创建完成!
    

    相关文章

      网友评论

          本文标题:Dockfile命令

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