• 基于容器制作镜像


    1、首先是拉取一个镜像,并启动之。我这里使用busybox作为测试

    [root@ELK-chaofeng08 ~]# docker container run --rm -it --name bbox1 busybox
    / # httpd -h
    httpd: option requires an argument -- h
    BusyBox v1.30.1 (2019-02-14 18:58:02 UTC) multi-call binary.
    
    Usage: httpd [-ifv[v]] [-c CONFFILE] [-p [IP:]PORT] [-u USER[:GRP]] [-r REALM] [-h HOME]
    or httpd -d/-e/-m STRING
    
    Listen for incoming HTTP requests
    
        -i        Inetd mode
        -f        Don't daemonize
        -v[v]        Verbose
        -p [IP:]PORT    Bind to IP:PORT (default *:80)
        -u USER[:GRP]    Set uid/gid after binding to port
        -r REALM    Authentication Realm for Basic Authentication
        -h HOME        Home directory (default .)
        -c FILE        Configuration file (default {/etc,HOME}/httpd.conf)
        -m STRING    MD5 crypt STRING
        -e STRING    HTML encode STRING
        -d STRING    URL decode STRING
    / # mkdir -pv /data/httpd
    created directory: '/data/'
    created directory: '/data/httpd/'
    / # echo "This is the busybox" > /data/httpd/index.html

    busybox镜像一启动默认是进入“sh”的shell交互终端,这是因为该busybox默认启动就是运行“sh”命令。我们想一启动这个镜像就可以运行httpd程序。

    2、我们再打开一个新的终端,然后制作镜像,修改默认运行的命令

    上面这个图片中的-h参数解释的不太正确,再纠正一下:

    3、查看制作的镜像

    3.1、如果你没有打标签,可以参考这个图片

     4、我们启动一下这个新的镜像

    看不到什么效果,因此我们再打开一个终端看看效果

    5、查看此镜像的进程

    发现我们刚刚制作的新的镜像已经启动了,并且默认运行的命令是“httpd -f -h /data/httpd”

    6、我们看看这个image的ip是什么

    使用这个命令查看image的详细信息

    [root@ELK-chaofeng08 ~]# docker inspect db8c95fc5ba8

    然后在显示的内容的最下面,我们可以看到ip

    7、访问一下看看效果

    很不错,制作成功了。

     最后我们还可以将此新的自己制作的镜像放在dockerhub上供别人参考

  • 相关阅读:
    React.js学习笔记之事件系统
    彻底解决Webpack打包慢的问题:npm run build:dll
    gulp详细入门教程
    cmd、node、npm 常用命令
    ant design中ES6写法个人总结
    自定义浏览器滚动条的样式,打造属于你的滚动条风格
    js相关知识
    day31-python阶段性复习五
    day30-python阶段性复习四
    day29-python阶段性复习三
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10565829.html
Copyright © 2020-2023  润新知