制作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 [email protected]
#上傳安裝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 [email protected]
---> 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