zoukankan      html  css  js  c++  java
  • 创建镜像推送至仓库

    用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 

  • 相关阅读:
    康复计划
    Leetcode 08.02 迷路的机器人 缓存加回溯
    Leetcode 38 外观数列
    Leetcode 801 使序列递增的最小交换次数
    Leetcode 1143 最长公共子序列
    Leetcode 11 盛水最多的容器 贪心算法
    Leetcode 1186 删除一次得到子数组最大和
    Leetcode 300 最长上升子序列
    Leetcode95 不同的二叉搜索树II 精致的分治
    Leetcode 1367 二叉树中的列表 DFS
  • 原文地址:https://www.cnblogs.com/idktp/p/11270096.html
Copyright © 2011-2022 走看看