美文网首页
【实战】制作自定义镜像

【实战】制作自定义镜像

作者: Impassable_time | 来源:发表于2018-07-25 11:13 被阅读0次

    制作xnetd镜像

    制作its-xnetd:1.0 镜像
    ps:xnetd 是我公司的一个自主研发的消息中间件,可以理解为 mq,本文介绍,如何将公司独有的组建放入Docker,制作成镜像。

    一、前提说明

    1)首先要有xnetd的应用,然后和Dockerfile在同级目录,详情如下:

    |- Dockerfile
    |- xnetd_bin
        \- start.sh ## 启动xnetd的脚本
        \- .config  ## xnetd相关的配置
        \- xnetd    ## xnetd应用
    

    2) .config 配置

    [sds]
    Level=5
    OnlineCheckSecond=100
    OnlineEchoSecond=2
    LocalTitle=echo;all
    LocalGroup=g1
    AutoDisconnect=1
    cloud=none
    ;InitTerm=100
    AlwaysAuto=1
    CutLength=300
    DispLevel=5
    LogPath=/root/logs/xnetd
    
    [eops]
    Level=5
    OnlineCheckSecond=100
    OnlineEchoSecond=2
    LocalTitle=echo;all
    LocalGroup=g1
    AutoDisconnect=1
    cloud=none
    ;InitTerm=100
    AlwaysAuto=1
    CutLength=300
    DispLevel=5
    LogPath=/root/logs/eops/xnetd
    

    start.sh 配置

    /usr/xnetd_bin/xnetd sds 17300
    sleep 2
    /usr/xnetd_bin/xnetd eops 13300
    sleep 2
    
    
    二、开始制作镜像<font color="red" size="4">(3步)</font>

    1)、编写Dockerfile文件

    FROM centos:7.4.1708
    MAINTAINER Will wangzhenwei@erayt.com
    
    #上传安装xnetd
    RUN mkdir  /usr/xnetd_bin
    COPY xnetd_bin/xnetd /usr/xnetd_bin/xnetd
    COPY xnetd_bin/start.sh /usr/xnetd_bin/start.sh
    COPY xnetd_bin/.config /root/.config
    RUN mkdir -p /root/logs/eops/xnetd
    RUN mkdir /root/logs/xnetd
    
    ##开启端口
    EXPOSE 13300  17300
    
    #CMD ["/usr/xnetd_bin/start.sh" , "run"]
    CMD sh /usr/xnetd_bin/start.sh && tail -f /root/.config
    

    2)、执行build 命令

    docker build --rm=true --no-cache=false -t its-xnetd:1.0 .
    

    3)、启动容器

    docker run -it -d --name=xnetd  -p 13300:13300 -p 17300:17300 its-xnetd:1.0
    

    <font color="red" size="4">创建完成</font>

    三、日志记录

    [root@helloword xnetd]# docker build --rm=true --no-cache=false -t its-xnetd:1.0 .
    Sending build context to Docker daemon  1.168MB
    Step 1/10 : FROM centos:7.4.1708
     ---> 3afd47092a0e
    Step 2/10 : MAINTAINER Will wangzhenwei@erayt.com
     ---> Using cache
     ---> 50450d3a273b
    Step 3/10 : RUN mkdir  /usr/xnetd_bin
     ---> Running in 584ed0248fd7
     ---> 6607c76ffc46
    Removing intermediate container 584ed0248fd7
    Step 4/10 : COPY xnetd_bin/xnetd /usr/xnetd_bin/xnetd
     ---> 5e7eb427b545
    Step 5/10 : COPY xnetd_bin/start.sh /usr/xnetd_bin/start.sh
     ---> 1bfe9cd23270
    Step 6/10 : COPY xnetd_bin/.config /root/.config
     ---> 706607e875ee
    Step 7/10 : RUN mkdir -p /root/logs/eops/xnetd
     ---> Running in 87b62ed416a8
     ---> 3b0a05d932ed
    Removing intermediate container 87b62ed416a8
    Step 8/10 : RUN mkdir /root/logs/xnetd
     ---> Running in ae25536eb944
     ---> ceb1c31910cf
    Removing intermediate container ae25536eb944
    Step 9/10 : EXPOSE 13300 17300
     ---> Running in 02750787bf3f
     ---> 0e559c595bb1
    Removing intermediate container 02750787bf3f
    Step 10/10 : CMD sh /usr/xnetd_bin/start.sh && tail -f /root/.config
     ---> Running in b7bfad96acd7
     ---> 1bc3630a75d4
    Removing intermediate container b7bfad96acd7
    Successfully built 1bc3630a75d4
    Successfully tagged xnetd:latest
    [root@helloword xnetd]# docker run -it -d --name=xnetd  -p 13300:13300 -p 17300:17300 its-xnetd:1.0
    2aa96230ecd3e68d86ec659307c61d1c22001aa2e65a508b96c6d781ed8a477d
    [root@helloword xnetd]# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                NAMES
    2aa96230ecd3        its-xnetd:1.0               "/bin/sh -c 'sh /u..."   2 seconds ago       Up 1 second         0.0.0.0:13300->13300/tcp, 0.0.0.0:17300->17300/tcp   xnetd
    

    相关文章

      网友评论

          本文标题:【实战】制作自定义镜像

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