docker制作nginx+nginx-module-vts镜像
制作一个基于ubuntu的docker,带有nginx和监控流量插件(nginx-module-vts)
1、下载ubuntu16.04模板压缩包
链接:https://download.openvz.org/template/precreated/
文件名:ubuntu-16.04-x86_64.tar.gz
2、导入 ubuntu-16.04-x86_64.tar.gz 压缩包为镜像文件,取名mynginx:1.0
docker import -m 'my nginx' ubuntu-16.04-x86_64.tar.gz mynginx:1.0
3、通过mynginx:1.0镜像启动一个容器,取名nginx
docker run -itd --name nginx mynginx:1.0 /bin/bash
4、进入nginx容器
docker exec -it nginx /bin/bash
5、安装nginx以及监控插件nginx-module-vts
参考链接:https://www.cnblogs.com/rainbow-tan/p/14080826.html
(1)安装依赖包
sudo apt-get update sudo apt-get install build-essential sudo apt-get install libtool sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g-dev sudo apt-get install openssl
(2)拷贝监控插件
docker cp nginx-module-vts-master nginx:/usr/local
①宿主机上下载nginx-module-vts-master.zip并解压然后拷贝解压出的文件夹nginx-module-vts-master到容器的/usr/local/
②容器内可看到拷贝成功
(3)拷贝nginx
①宿主机上下载nginx-1.18.0.tar.gz并解压,然后拷贝解压出的文件夹nginx-1.18.0到容器的/home/nginx/(提前进入容器创建该文件夹)
②容器内可看到拷贝成功
(4)安装
cd nginx-1.18.0 ./configure --add-module=/usr/local/nginx-module-vts-master/ make make install
5、导出新镜像,该镜像就带有nginx和nginx-module-vts,取名nginx:pxe
docker commit -m 'nginx+vts' nginx nginx:pxe
6、通过刚才保存的镜像nginx:pxe导出tar压缩包,取名nginx.tar,这样可以拷贝到其他机器运行
docker save -o nginx.tar nginx:pxe
这样就做好了,带有nginx+nginx-module-vts镜像就是nginx:pxe,对应的tar压缩包就是nginx.tar
7、验证是否成功
(1)拷贝nginx.tar到其他机器
(2)load镜像
docker load < nginx.tar
(3)启动一个容器,取名nginx
①根据自身配置映射端口和文件夹,也可直接在容器中配置好,这个根据自己的情况来做,比如我需要共享宿主机文件夹,所以我指定了配置文件和共享文件夹,映射到容器里。不需要的直接启动容器就行。
docker run -itd --name nginx -p 80:80 -p 8080:8080 -v /home/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf -v /home/kernel:/home/kernel nginx:pxe
②进入容器启动nginx
docker exec -it nginx /bin/bash
③查看网页