【实战】制作自定义镜像
制作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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker 安装 mysql 详解
Docker 安装 mysql 详解 制作its-mysql:1.0镜像 说明: 在使用基于centos+mysql的方式写Dockerfile做镜像,发现体积过于太大,是docker hub上提供的mysql镜像的大小3~4倍,docker hub上的大小为324MB,所以这里选型使用官网的镜像。 使用两种方式制作镜像 第一种: 1)下载镜像 docker pull mysql:5.6.38 镜像地址:https://hub.docker.com/_/mysql/2)、创建数据库盘目录 mkdir -p /home/docker/Mysql/mysql_data 3)、启动镜像 docker run -d -p 3306:3306 -e mysqld -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=its -e MYSQL_PASSWORD=its -e MYSQL_DATABASE=its -v /home/docker/Mysql/mysql_data:/var/lib/mysql --name itsDB -v /etc/localtim...
- 下一篇
【实战】一键制作10镜像
总结: ** 镜像逐个完成,最终整理成一个整体、统一的脚本。--不用cd 半天,在一个目录下,执行所有的命令,可以直接完成。** 目录说明: |-1Dockerfile-所有镜像制作的dockerfile |-2properties-所有镜像的配置文件,现阶段使用外挂的模式;还有mysql的数据,也采用外挂的模式 |-3logs-所有镜像的日志,挂外出来 |-4doc-这个镜像制作过程的日志以及说明 |-build.html-build脚本,cd到这个目录下,执行脚本 build 全脚本:[创建10个镜像] ##its-image-base:1.0 docker build --rm=true --no-cache=false -t its-image-base:1.0 1Dockerfile/00its-image-base/ ##its-mysql:1.0 docker pull mysql:5.6.38 ##its-xnet:1.0 docker build --rm=true --no-cache=false -t its-xnetd:1.0 1Dockerfile/02its...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8编译安装MySQL8.0.19
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS关闭SELinux安全模块
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7