關於Docker的一些理解
最近工作上在使用Docker打包服務
所以有一些理解記錄在此
-
定義
作為一個容器包含了其內部自己的執行環境,與外界隔離。
-
Dockerfile
- 根映象為nginx
- 把當前目錄的dist檔案copy至容器內/usr/xxx/html路徑
- 覆蓋原nginx預設配置
- 暴露80埠
- 啟動nginx
FROM nginx COPY dist /usr/share/nginx/html COPY build/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] 複製程式碼
-
打包前端專案至dist目錄
npm run build
-
打包docker映象
docker build -t test .
以根目錄為準打包為映象test
-t
:映象的名字 -
執行
在本地利用docker啟動一個埠和內部監聽埠對應
docker run -d -p 4002:80 imagename
在本地啟動4002埠對映到docker容器的內部埠
-d
: 後臺執行容器,並返回容器ID(不佔用你的一個cmd視窗)-p
:埠對映,格式為:主機(宿主)埠:容器埠
之後在本地訪問4002埠便可以看到你的dist的內容了