激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 本地使用docker打包部署鏡像的方法

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

2021-06-03 17:44愛玲姐姐 服務器知識

這篇文章主要介紹了本地使用docker打包部署鏡像的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

一、項目結構如下:

 

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

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

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

 

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

我的Dockerfile內容如下:

?
1
2
3
4
5
6
FROM nginx
WORKDIR /usr/src/app/
COPY ./docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY ./dist /usr/share/nginx/html/
EXPOSE 80
CMD ["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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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命令還不太清楚,以后還會進一步學習~

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

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

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

?
1
docker load < study.tar

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

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

然后推到私有云:

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

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

原文鏈接:https://blog.csdn.net/jal517486222/article/details/106063577

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本黄视频在线观看 | 好吊色37pao在线观看 | 蜜桃传媒视频麻豆第一区免费观看 | 一级免费在线 | www国产网站 | 国产成人在线看 | 欧日韩在线视频 | 亚洲国产精品久久久久久久 | 久久草在线观看视频 | 成年免费看| 日本一道aⅴ不卡免费播放 视屏一区 | 91香蕉影视| 狠狠干夜夜草 | 欧美成人激情在线 | 欧美日韩视频网站 | 成av人在线观看 | 国产精品视频二区不卡 | 久草亚洲视频 | 一级看片免费视频 | 欧美成人精品欧美一级乱黄 | 黄网站免费入口 | 91九色福利| 被啪羞羞视频在线观看 | 精品国产一区二区三区久久久狼牙 | 亚洲欧美成aⅴ人在线观看 免费看欧美黑人毛片 | 黄色午夜剧场 | 久久久成人精品视频 | 国产精品a一 | 免费观看高清视频网站 | av在线浏览 | 羞羞视频免费网站男男 | 日本成人一区二区 | 在线播放一区二区三区 | www.精品一区 | 艹逼视频污 | 毛片免费在线观看 | 91亚洲精品一区二区福利 | 蜜桃精品视频 | 激情网站免费观看 | 欧美国产91 | 国产国语毛片 |