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

 ③查看网页

 

posted @ 2021-01-07 17:12  南风丶轻语  阅读(1882)  评论(0编辑  收藏  举报