色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

本地使用docker打包部署鏡像的方法

瀏覽:103日期:2024-11-07 17:28:28

第一次在本地使用docker打包、部署鏡像

首先說下我的筆記本系統是MACOS 10.15.4我安裝的docker版本是v19.03.5

一、項目結構如下:

這是一個react項目,打包后的靜態資源路徑是dist目錄。

本地使用docker打包部署鏡像的方法

二、重點看Dockerfile文件和docker/nginx.conf文件

1. Dockerfile是一個用來構建鏡像的文本文件,詳細介紹可以參考鏈接:Docker Dockerfile

我的Dockerfile內容如下:

FROM nginxWORKDIR /usr/src/app/COPY ./docker/nginx.conf /etc/nginx/conf.d/default.confCOPY ./dist /usr/share/nginx/html/EXPOSE 80CMD ['nginx', '-g', 'daemon off;']

Dockerfile中的大寫單詞是命令,各個命令的含義解釋:

FROM:定制的鏡像都是基于 FROM 的鏡像,這里的 nginx 就是定制需要的基礎鏡像。后續的操作都是基于 nginx。 RUN:用于執行后面跟著的命令行命令。有以下倆種格式: WORKDIR:指定工作目錄。用 WORKDIR 指定的工作目錄,會在構建鏡像的每一層中都存在。WORKDIR 指定的工作目錄,必須是提前創建好的。docker build 構建鏡像過程中的,每一個 RUN 命令都是新建的一層。只有通過 WORKDIR 創建的目錄才會一直存在。 COPY:復制指令,從上下文目錄中復制文件或者目錄到容器里指定路徑。 EXPOSE:僅僅只是聲明端口。作用:幫助鏡像使用者理解這個鏡像服務的守護端口,以方便配置映射。在運行時使用隨機端口映射時,也就是 docker run -P 時,會自動隨機映射 EXPOSE 的端口。 CMD:類似于 RUN 指令,用于運行程序,但二者運行的時間點不同:CMD 在docker run 時運行。RUN 是在 docker build。作用:為啟動的容器指定默認要運行的程序,程序運行結束,容器也就結束。CMD 指令指定的程序可被 docker run 命令行參數中指定要運行的程序所覆蓋。注意:如果 Dockerfile 中如果存在多個 CMD 指令,僅最后一個生效。

2. docker/nginx.conf

server { listen 80; # gzip config gzip on; gzip_min_length 1k; gzip_comp_level 9; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; gzip_vary on; gzip_disable 'MSIE [1-6].'; client_max_body_size 100m; root /usr/share/nginx/html; location / { try_files $uri $uri/ /index.html; } location /api/ { # 此處為后端地址 proxy_pass http://www.XXX.com/; }}三、執行docker build命令制作鏡像

我執行的命令是:docker build -t mydocker .-t : 為鏡像打一個tag,tag名稱為mydocker不要忘了后面有個點,表示在當前路徑下制作鏡像

四、執行docker run部署鏡像

我執行的命令是:docker run -p 80:80 mydocker-p 是指定映射到本機的端口docker run -p 本機端口:鏡像端口 鏡像名

五、打開localhost:80就可以看到項目啦

初次體驗docker本地部署,很多原理和docker命令還不太清楚,以后還會進一步學習~

補充一個小問題,我今天突然無法將鏡像推到公司的私有云了,是網絡環境有問題,就讓同事幫忙推一下。我先將打包好的鏡像保存到本地:

docker save 10.10.10.52:5000/zhanwu-study/prod:4.1.2 > study.tar

然后將生成到當前目錄下的study.tar通過釘釘發給同事,他下來study.tar到本地,然后執行:

docker load < study.tar

更新一下版本(沒有生成新的鏡像,兩個版本是同一個鏡像):

docker tag 10.10.10.52:5000/zhanwu-study/prod:4.1.2 10.10.10.52:5000/zhanwu-study/prod:4.1.3

然后推到私有云:

docker push 10.10.10.52:5000/zhanwu-study/prod:4.1.3

到此這篇關于本地使用docker打包部署鏡像的方法的文章就介紹到這了,更多相關本地docker打包部署鏡像內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
主站蜘蛛池模板: 日本免费高清视频二区 | 日韩一区国产二区欧美三 | 免费看成人播放毛片 | 久久亚洲精品中文字幕亚瑟 | 99视频精品免视3 | 国产91丝袜美腿在线观看 | 国内精品一区二区 | 日本乱人伦片中文三区 | 国产一区二区播放 | 国产免费久久精品99re丫y | 国产一区欧美 | 国产精品国产三级国产专播 | 日韩三级在线观看视频 | 99福利网 | 美女午夜色视频在线观看 | 日本高清视频一区二区 | 亚洲精品高清视频 | 日韩亚洲一区中文字幕在线 | 欧美日韩国产亚洲一区二区三区 | 欧美亚洲网站 | 香蕉依依精品视频在线播放 | 国产精品亚欧美一区二区三区 | 在线一区二区三区 | 国产成人一区二区三区在线播放 | 国产大乳喷奶水在线看 | 一级毛片视频在线 | 亚洲人成一区二区三区 | 美国毛片一级视频在线aa | 久久久国产一区二区三区 | av av片在线看| 视频精品一区二区三区 | 欧美特欧美特级一片 | 国产日韩亚洲欧美 | 国产免费一级精品视频 | 日韩在线视频线视频免费网站 | 免费国产不卡午夜福在线观看 | 男人的天堂亚洲 | 国产精品久久久久久久久免费观看 | 特级无码a级毛片特黄 | 国产精品莉莉欧美自在线线 | 九九久久精品这里久久网 |