制作一個基於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
③查看網頁