zoukankan      html  css  js  c++  java
  • 012、构建镜像(2018-12-29 周六)

     
    在使用Docker的时候,几乎所有的操作系统和应用程序都有现成的镜像,比如centos、debian、ubuntu、nginx、jenkins。直接docker pull 即可。
     
    Docker Hub上的官方镜像已经帮我们做好了应用程序的配置和优化工作,一般情况下直接使用即可。
     
    如果Docker Hub上找不到我们需要的镜像,比如自己开发的程序,那就需要自己构建镜像了。
     
    构建镜像的方法有两种:1、docker commit 命令构建;2、Dockerfile文件构建
     
    docker commit
     
    这种方法构建镜像比较简单直观
        1、运行容器
        2、修改容器
        3、将容器保存为镜像
     
    下面是一个基于centos base镜像构建vim镜像的过程
     
     
    root@docker-lab:~# docker run -it centos
    Unable to find image 'centos:latest' locally
    latest: Pulling from library/centos
    a02a4930cb5d: Pull complete
    Digest: sha256:38777a4106f0072649128ea4236241345a3ed21c55abbbd53bad5342549f6126
    Status: Downloaded newer image for centos:latest
    [root@02d010de5fe9 /]# wget
    bash: wget: command not found
    [root@02d010de5fe9 /]# yum install -y wget
    Loaded plugins: fastestmirror, ovl
    Loading mirror speeds from cached hostfile
    * base: mirrors.neusoft.edu.cn
    * extras: mirrors.huaweicloud.com
    * updates: mirrors.huaweicloud.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package wget.x86_64 0:1.14-18.el7 will be installed
    --> Finished Dependency Resolution
     
    Dependencies Resolved
     
    =============================================================================================================================================================
    Package                            Arch                                 Version                                    Repository                          Size
    =============================================================================================================================================================
    Installing:
    wget                               x86_64                               1.14-18.el7                                base                               547 k
     
    Transaction Summary
    =============================================================================================================================================================
    Install  1 Package
     
    Total download size: 547 k
    Installed size: 2.0 M
    Downloading packages:
    wget-1.14-18.el7.x86_64.rpm                                                                                                           | 547 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : wget-1.14-18.el7.x86_64                                                                                                                   1/1
    install-info: No such file or directory for /usr/share/info/wget.info.gz
      Verifying  : wget-1.14-18.el7.x86_64                                                                                                                   1/1
     
    Installed:
      wget.x86_64 0:1.14-18.el7                                                                                                                                  
     
    Complete!
    [root@02d010de5fe9 /]# wget
    wget: missing URL
    Usage: wget [OPTION]... [URL]...
     
    Try `wget --help' for more options.
     
    root@docker-lab:~# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    02d010de5fe9        centos              "/bin/bash"         5 minutes ago       Up 5 minutes                            vibrant_bhabha
    root@docker-lab:~# docker commit
    "docker commit" requires at least 1 and at most 2 arguments.
    See 'docker commit --help'.
     
    Usage:  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] [flags]
     
    Create a new image from a container's changes
    root@docker-lab:~# docker commit vibrant_bhabha centos-wget
    sha256:7fe32c85b3a25ed750373af73dd808600c1e0112b96ddade85a01532cce0f2f3
    root@docker-lab:~# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos-wget         latest              7fe32c85b3a2        13 seconds ago      328MB
    centos              latest              1e1148e4cc2c        3 weeks ago         202MB
    root@docker-lab:~# docker run -it centos-wget
    [root@2e47049d7633 /]# wget     
    wget: missing URL
    Usage: wget [OPTION]... [URL]...
     
    Try `wget --help' for more options.
    [root@2e47049d7633 /]#
     
    docker commit 构建镜像,不是推荐的方法:1、手工操作,效率,容易出错;2、使用者不清楚构建的过程,无法进行审计,存在安全隐患
     
    建议使用Dockerfile 构建镜像
     
  • 相关阅读:
    VIM的强大功能
    BigDecimal.ROUND_HALF_XXX的各种用法
    拒绝服务攻击
    浅谈(接口)测试注意事项四
    jmeter 与 java http
    Xms Xmx PermSize MaxPermSize 区别
    Jquery过滤器
    JQ工具函数运用
    C#扩展方法
    LINQ TO XML基础
  • 原文地址:https://www.cnblogs.com/www1707/p/10197248.html
Copyright © 2011-2022 走看看