• 创建镜像推送至仓库


    用commit命令创建镜像

    先创建一个容器,在容器里做出修改,最后将该容器提交为一个新镜像

    创建容器

    docker run -it --name test001 ubuntu /bin/bash

    修改容器

    apt-get install vim
    

    退出容器

    exit
    

    提交定制容器

    docker commit -m'提交信息' -a'作者信息' 容器ID idktp/myimage:tag
    # "idktp/myimage:tag"为镜像名称。
    # 其中idktp为个人Docker用户名,myimages为要取得仓库名字

    推送镜像至docker hub

    docker push idktp/myimage:tag
    

    利用Dockerfile构建镜像

    创建一个static_web目录用来保存Dockerfile,这个目录就是我们的构建环境(上下文)

    mkdir static_web && cd static_web && touch Dockerfile
    

    将以下内容写入Dockerfile

    FROM ubuntu:14.04
    MAINTAINER idktp
    RUN apt-get update && apt-get install -y nginx
    RUN echo 'Hi,i am in your container' 
        >/usr/share/nginx/html/index.html
    
    # FROMMAINTAINERRUN 都是Dockerfile指令,还有其他指令一会儿介绍,指令全都大写
    # 指令会按从上到下的顺序进行执行,所以需要合理安排指令顺序
    # docker从基础镜像运行一个容器。执行一条指令,对容器做出修改。
    # 提交修改后的容器,生成新的镜像层。
    # 基于新的镜像层生成新的容器,再执行下一条指令。
    # 直到指令执行完毕
    
    
    # 每一个Dockerfile的第一个指令必须是FROM,FROM指定一个已经存在的镜像,后续指令全都基于该镜像
    # MAINTAINER:作者信息
    # RUN:该指令会在当前镜像中运行指定的命令

    构建镜像

    docker build -t='idktp/test001:19.07.30' .
    # 注意命令最后有个点,表明上下文是当前文件夹
    # idktp/test001:19.07.30为镜像名

    根据新镜像构建容器

    docker run -d -p 8080:80 --name static_web idktp/test001:19.07.30 nginx -g 'daemon off;'
    # -p 代表宿主机的8080端口会绑定容器的80端口,当访问宿主机8080端口时即访问容器的80端口
    # -d 表示该容器以分离的模式在后台运行
    # 同时需以前运行的方式启动nginx
    

      

    推送镜像至docker hub

    docker push idktp/test001:19.07.30

    常用Dockerfile指令

    CMD 
    # 容器被启动时要运行的命令,和RUN命令相似,只是RUN是在构建镜像是运行,而CMD是启动容器时运行,而且CMD会被 docker run命令覆盖
    ENTRYPOINT
    # 与CMD类似容器被启动时要运行的命令,但是不会被 docker run命令覆盖
    WORKDIR
    # 为该指令的后面的指令设置工作目录
    ADD
    # 将构建环境下的文件或者目录复制到镜像中
    

      

    scp root@18.218.205.245:/home/ec2-user/ftp-files/sat1c243119a6494ff7a285658374f978ff/download/2019-12-03/8d96a068b57f47e18aa5b9976d3d81f3.data Desktop 

  • 相关阅读:
    dev c++ 中显示计算机中丢失libiconv2.dll
    poj 1456 Supermarket
    codeforce 867E Buy Low Sell High
    Java编写程序时出现警告:Resource leak: input is never closed 解决方法
    codeforce 8A
    CF1110B
    ZOJ 1914 Arctic Network
    POJ 1258 Agri-Net
    Poj 1751 Highways
    ZOJ 2158 Truck History
  • 原文地址:https://www.cnblogs.com/idontknowthisperson/p/11270096.html
Copyright © 2020-2023  润新知