Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,該容器包含了應用程序的代碼、運行環境、依賴庫、配置文件等必需的資源,通過容器就可以實現方便快速並且與平台解耦的自動化部署方式,無論你部署時的環境如何,容器中的應用程序都會運行在同一種環境下。Docker 作為輕量級虛擬化技術,擁有持續集成、版本控制、可移植性、隔離性和安全性等優勢。
Nginx 是一個高性能的 HTTP 和反向代理服務器,選用 Nginx 鏡像作為基礎來構建vue應用鏡像。
1.獲取 Nginx 鏡像
docker pull nginx
- Docker鏡像(Image)一個特殊的文件系統。Docker 鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時准備的一些配置參數(如匿名卷、環境變量、用戶等)。 鏡像不包含任何動態數據,其內容在構建之后也不會被改變。
- Docker 鏡像相關操作有:搜索鏡像,docker search [REPOSITORY[:TAG]];拉取鏡像,docker pull [REPOSITORY[:TAG]];查看鏡像列表,docker image ls;刪除鏡像,docker image rm [REPOSITORY[:TAG]] / docker rmi [REPOSITORY[:TAG]] 等等。
- Docker 鏡像名稱由 REPOSITORY 和 TAG 組成 [REPOSITORY[:TAG]],TAG默認為 latest。
2.生成vue靜態文件
打包生產環境
npm run build:prod

命令執行成功后,會在當前目錄產生dist文件夾

3.新建vueDocker目錄,把dist目錄拷貝到服務器該目錄下並切換到該目錄


使用vi在dist創建Dockerfile
FROM nginx
COPY dist/ /usr/share/nginx/html/
:wq 保存退出


4.自作鏡像文件
docker build -t vue-docker . //鏡像名要用小寫,最后不能少了點


查看鏡像文件
docker image ls


5.啟動容器
docker run -p 8888:80 -d vue-docker
//-d 后台運行容器,並返回容器ID ;
// 8888:80 把外網8888端口映射到docker的80端口


docker ps //查看容器運行狀態

備份鏡像
docker save imagename -o /home/路徑/iomsvueimg.tar
還原鏡像
docker load --input iomsvueimg.tar
在默認的情況下,docker沒有對容器進行硬件資源的限制,當容器負載過高時會盡肯能第占用宿主機資源。在這基礎上,docker提供了針對容器的內存,CPU,IO資源的控制方式。
-c可以指定CPU的占比,--cpuset可以綁定CPU
Docker提供參數-m, --memory="" 限制容器的內存使用量。
磁盤的IO限制,磁盤大小的限制,docker容器默認的空間是10G,如果想指定默認容器的大小(在啟動容器的時候指定),可以在docker配置文件里通過dm.basesize參數指定。
