按我的理解就是linux上面的一個虛擬機,和window一樣也有虛擬機。能做的事情很多,這里簡單講下nginx在docker上面的使用。
真實場景下:簡而言之,假設在A服務器上面安裝過基礎環境,并且有了配置啥的,可以把安裝過的基礎環境用docker打成包,下次B服務器可以直接用docker安裝這個包,用在去重復配置基礎環境和其他配置啥的,相當于可以復用。
我這里因為客戶要求不能用root帳戶權限使用nginx,我的nginx是用rpm包安裝的(rpm包安裝很簡單,但是沒有root權限時候就不能使用rpm包安裝nginx),加上是內網環境(內網環境安裝nginx很麻煩!要依賴各種以及gcc編譯安裝等等),所以最終采用的是docker相對簡單,將docker安裝上,再安裝nginx鏡像。
訪問原理是將Linux的端口映射到docker里的nginx配置開啟的端口,和直接nginx做服務容器沒區別。
通過鏡像包安裝:(安裝方式一)
docker load -i nginx.tar 安裝nginx鏡像包
docker tag 6084105296a9 nginx:latest 鏡像命名
docker run --name nginx -p 9000:80 -d nginx 生成新容器(鏡像模式)
通過容器包安裝:(安裝方式二)
docker import nginx.tar nginx 安裝nginx容器包
生成新容器(容器安裝模式):
docker run --name nginx -d -p 9001:80 nginx /docker-entrypoint.sh nginx -g 'daemon off;'
其他常用命令:
docker images 查看鏡像
docker ps 查看容器、容器id
docker rmi nginx 刪除鏡像
docker rm nginx 刪除容器
docker stop nginx 停止容器
docker start nginx
docker restart nginx
docker exec -it nginx /bin/bash 進入容器
exit 退出容器
docker cp default.買粉絲nf nginx:/etc/nginx/買粉絲nf.d/default.買粉絲nf 拷貝nginx的配置到docker的nginx里面
docker cp dist nginx:/usr/share/nginx/買粉絲 拷貝前端dist到docker的nginx里面
docker打成鏡像包命令:
docker 買粉絲mit 容器id 鏡像名稱:版本號
docker save -o 鏡像包名稱.tar 鏡像名稱
(備注:1、版本號可以不寫,2、打成鏡像包后會在當前的目錄可以看到)
假設已經安裝好了docker,配置好了nginx,現在前端修i改了頁面,重新打包dist,只需要把dist文件夾上傳到linux上面,然后拷貝到docker里面就可以,不需要重啟docker,也不需要重啟nginx。
1、將打包好的文件上傳到 : /etc/nginx/買粉絲
2、把文件拷貝到docker目錄下:docker cp dist nginx:/etc/nginx/買粉絲
docker pull nginx
將 nginx.買粉絲nf 配置文件放在 /your/dir/買粉絲nf/ 下。
將 default.買粉絲nf 配置文件放在 /your/dir/買粉絲nf/買粉絲nf.d 下。
將容器 80 端口映射到主機 80 端口。
1、在安裝Docker的時候,會在宿主機安裝一個虛擬網關 docker0,查詢docker0的IP地址
2、配置docker上安裝的nginx
3、自行測試即可
簡述:Spring boot+Vue 前后端分離項目部署,主要采用docker容器部署方式。
Springboot項目部署:docker構建mysql環境+docker構建項目自身環境。
Vue項目:使用docker啟動nginx服務器方式代理部署。
項目使用mysql8.0作為數據源,所以部署時需要使用docker構建mysql環境及項目自身環境。
連接出現1251錯誤時:
首先將項目進行打包:mumu-0.0.1-SNAPSHOT.jar
到此,springboot項目采用docker方式運行部署結束。
使用docker容器方式運行nginx服務器。
對于nginx服務器,重要的兩個操作是:
所以我們在配置啟動nginx容器的時候,需要將對應的目錄及文件進行宿主機掛載,方便后續更新資源及操作
啟動命令:
2024-07-24 12:51
2024-07-24 12:47
2024-07-24 12:16
2024-07-24 11:08
2024-07-24 10:56
2024-07-24 10:49