最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker打包及部署項(xiàng)目完整步驟

 更新時(shí)間:2023年08月29日 10:52:31   作者:Elitewa  
這篇文章主要給大家介紹了關(guān)于Docker打包及部署項(xiàng)目的相關(guān)資料,Docker是一種容器化技術(shù),可以將應(yīng)用程序及其依賴項(xiàng)打包成一個(gè)容器,方便在不同的環(huán)境中部署和運(yùn)行,需要的朋友可以參考下

一、什么是Docker?

Docker 是一個(gè)開源的容器化平臺(tái),用于構(gòu)建、部署和運(yùn)行應(yīng)用程序。它使開發(fā)人員能夠?qū)④浖捌渌幸蕾図?xiàng)打包到一個(gè)稱為容器的標(biāo)準(zhǔn)單元中。這個(gè)容器可以在任何支持 Docker 的環(huán)境中運(yùn)行,無論是開發(fā)人員的個(gè)人計(jì)算機(jī)、測(cè)試環(huán)境還是生產(chǎn)服務(wù)器。通過使用 Docker,開發(fā)人員可以擺脫「在我的機(jī)器上可運(yùn)行」的問題,因?yàn)槿萜魈峁┝艘环N標(biāo)準(zhǔn)化的方式來打包和分發(fā)應(yīng)用程序。開發(fā)人員可以創(chuàng)建一個(gè) Docker 鏡像,其中包含了應(yīng)用程序以及所有依賴項(xiàng)的配置,并將其部署到任何支持 Docker 的地方,而無需擔(dān)心環(huán)境差異和依賴項(xiàng)沖突。

二、Docker基本常識(shí)

2.1 Dockerfile

Dockerfile是一個(gè)文本文件,其中包含了構(gòu)建 Docker 鏡像所需的一系列步驟和指令。通過編寫 Dockerfile 文件,可以生成我們想要的鏡像

2.2 鏡像

Docker 鏡像是 Docker 容器的基礎(chǔ)構(gòu)建組件。它是一個(gè)只讀的模板,包含了運(yùn)行了我們打包的項(xiàng)目、環(huán)境變量、配置數(shù)據(jù)和依賴項(xiàng)。你可以將 Docker 鏡像視為一個(gè)快照,其中包含了構(gòu)建應(yīng)用程序的完整文件系統(tǒng)。

2.3 容器

Docker 容器是 Docker 平臺(tái)上運(yùn)行的一個(gè)實(shí)例化的軟件單元。容器是基于 Docker 鏡像創(chuàng)建的,它使用鏡像作為其文件系統(tǒng)和基礎(chǔ)環(huán)境,運(yùn)行應(yīng)用程序及其所有依賴項(xiàng),我們可以通過部署好的容器,在其他設(shè)備上訪問我們打包的項(xiàng)目

三、項(xiàng)目打包

這里我們以php的web項(xiàng)目為例該項(xiàng)目目錄如下

1.Dockerfile文件編寫

文件參數(shù)詳解

FROM:指定基礎(chǔ)鏡像名稱和版本,將打包的項(xiàng)目在該基礎(chǔ)鏡像上運(yùn)行
LABEL:為鏡像添加元數(shù)據(jù),可以用于標(biāo)識(shí)鏡像的作者、版本、描述等信息(可忽略)
ENV:設(shè)置環(huán)境變量,可以在容器內(nèi)部使用
WORKDIR:設(shè)置工作目錄,用于指定容器內(nèi)部的工作目錄,后續(xù)的命令都將在該目錄下執(zhí)行
COPY:從本地復(fù)制文件至創(chuàng)建的鏡像文件
RUN: 對(duì)創(chuàng)建的鏡像使用的命令
CMD: 容器被創(chuàng)建啟動(dòng)時(shí)執(zhí)行的命令

文件內(nèi)容如下

FROM nickistre/ubuntu-lamp
LABEL Elite
RUN apt-get update -y
COPY ./friend/* /var/www/html/
RUN service apache2 restart

這里我們拉取了一個(gè)帶有l(wèi)amp(Linux+Apache+Mysql+Php)環(huán)境的ubuntu鏡像作為web項(xiàng)目的基礎(chǔ)鏡像,然后將鏡像表示設(shè)為 Elite,然后使用了RUN對(duì)鏡像執(zhí)行了兩條命令(更新容器內(nèi)部的軟件包列表,以及開啟Apache服務(wù)),然后使用COPY命令,將本地 friend 目錄里的項(xiàng)目復(fù)制到了鏡像的/var/www/html/目錄里,這樣我們的Dockerfile文件就做好了

2.開始打包

在Dockerfile文件所在目錄,使用命令如下

docker build  -t frid1:1.0 .

具體解釋如下:這條命令的作用是在當(dāng)前目錄下的 Dockerfile 中定義的構(gòu)建步驟中,根據(jù) Dockerfile 的指令和配置構(gòu)建一個(gè)新的鏡像,并為用-t將該鏡像命名為 frid1,標(biāo)簽為 1.0。

該命令語(yǔ)法如下:

docker build [OPTIONS] PATH
OPTIONS 是一些可選參數(shù),而 PATH 則是指定包含 Dockerfile 的路徑

常用的一些參數(shù)包括:

    -t 或 --tag:用于為構(gòu)建的鏡像指定名稱和標(biāo)簽。例如 -t myimage:1.0 表示將構(gòu)建的鏡像命名為 myimage,標(biāo)簽為 1.0。
    -f 或 --file:用于指定替代的 Dockerfile 文件路徑。默認(rèn)情況下,docker build 命令會(huì)在 PATH 目錄中查找名為 Dockerfile 的文件,但你可以使用 -f 參數(shù)指定其他文件名。
    --build-arg:用于傳遞構(gòu)建時(shí)的參數(shù)值給 Dockerfile 中的 ARG 指令。例如 --build-arg MY_VAR=value 表示將值 value 傳遞給 Dockerfile 中的變量 MY_VAR。
    --no-cache:表示在構(gòu)建過程中不使用緩存的鏡像層。如果之前的構(gòu)建產(chǎn)生了緩存的鏡像層,這個(gè)參數(shù)可以忽略并重新執(zhí)行所有的指令

這樣我們的鏡像便制作成功

四、項(xiàng)目拉起

我們可以通過命令

docker images

來查看剛才制作的鏡像

然后通過命令

docker run -itd -p 666:80  frid1:1.0

解釋一下每個(gè)參數(shù)的含義:

-itd:-i 表示以交互模式運(yùn)行容器,-t 可以分配一個(gè)偽終端,-d 表示以“后臺(tái)模式”(detached mode)運(yùn)行容器。-p 666:80:將主機(jī)的 666 端口映射到容器的 80 端口。這樣,可以通過訪問主機(jī)的 666 端口來訪問容器內(nèi)運(yùn)行的應(yīng)用程序。frid1:1.0:指定要使用的鏡像名稱和標(biāo)簽。在這里,使用的鏡像名稱是 frid1,版本號(hào)是 1.0。

該命令語(yǔ)法如下:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS 是一些可選參數(shù),IMAGE 是指定要運(yùn)行的鏡像名稱或標(biāo)簽,COMMAND 是容器內(nèi)部要執(zhí)行命令,ARG... 是傳遞給容器命令的參數(shù)

常用的一些參數(shù)包括:

    -d:表示以“后臺(tái)模式”(detached mode)運(yùn)行容器,在容器內(nèi)部執(zhí)行的命令會(huì)在后臺(tái)運(yùn)行。如果不使用該參數(shù),則容器會(huì)在前臺(tái)運(yùn)行,并將命令輸出打印到終端。
    -p:用于設(shè)置主機(jī)和容器之間的端口映射。例如 -p 8080:80 表示將主機(jī)的 8080 端口映射到容器的 80 端口。
    -v:用于設(shè)置主機(jī)和容器之間的目錄掛載。例如 -v /host/directory:/container/directory 表示將主機(jī)上的 /host/directory 目錄掛載到容器內(nèi)的 /container/directory 目錄。
    --name:用于為容器指定一個(gè)名稱。如果不指定名稱,Docker 將自動(dòng)生成一個(gè)唯一的容器名稱。
    --rm:表示在容器退出后自動(dòng)刪除容器。這在臨時(shí)運(yùn)行的容器上非常有用。
    --network:用于指定容器連接的網(wǎng)絡(luò)??梢允褂媚J(rèn)的 bridge 網(wǎng)絡(luò)或自定義網(wǎng)絡(luò)。

項(xiàng)目成功拉起

總結(jié) 

到此這篇關(guān)于Docker打包及部署項(xiàng)目的文章就介紹到這了,更多相關(guān)Docker打包部署項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    這篇文章主要介紹了使用?docker-compose?部署?golang?的?Athens?私有代理,幫助大家快速學(xué)習(xí)athens 如何構(gòu)建私有代理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 詳解使用阿里云鏡像倉(cāng)庫(kù)構(gòu)建國(guó)外Docker鏡像

    詳解使用阿里云鏡像倉(cāng)庫(kù)構(gòu)建國(guó)外Docker鏡像

    這篇文章主要介紹了詳解使用阿里云鏡像倉(cāng)庫(kù)構(gòu)建國(guó)外Docker鏡像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • docker-compose network名稱定義解讀

    docker-compose network名稱定義解讀

    文章詳細(xì)介紹了Docker Compose網(wǎng)絡(luò)名稱的生成規(guī)則,包括沒有自定義網(wǎng)絡(luò)名、定義后綴和定義前綴的情況,通過設(shè)置環(huán)境變量`COMPOSE_PROJECT_NAME`,可以更友好的命名網(wǎng)絡(luò)
    2026-03-03
  • Docker安裝mysql8.0并配置忽略大小寫問題

    Docker安裝mysql8.0并配置忽略大小寫問題

    本文介紹了使用Docker啟動(dòng)MySQL的過程,包括拉取鏡像、查看鏡像、啟動(dòng)MySQL命令及其參數(shù)解釋、連接MySQL等步驟,并強(qiáng)調(diào)了設(shè)置`lower_case_table_names=1`只能在初始化時(shí)進(jìn)行配置
    2026-05-05
  • Navicat 連接服務(wù)器端中的docker數(shù)據(jù)庫(kù)的方法

    Navicat 連接服務(wù)器端中的docker數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了Navicat 連接服務(wù)器端中的docker數(shù)據(jù)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Ubuntu15.10安裝docker和docker-compose教程

    Ubuntu15.10安裝docker和docker-compose教程

    這篇文章主要介紹了Ubuntu15.10安裝docker和docker-compose的教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • Docker nginx容器部署前端項(xiàng)目全過程

    Docker nginx容器部署前端項(xiàng)目全過程

    用戶配置Nginx數(shù)據(jù)卷映射,將本地文件掛載至容器內(nèi)/usr/share/nginx/html目錄,部署兩個(gè)前端項(xiàng)目分別綁定18080和18081端口,確保配置文件與前端資源同步更新
    2025-09-09
  • Docker 部署 Nginx詳細(xì)攻略

    Docker 部署 Nginx詳細(xì)攻略

    Nginx 是一款輕量級(jí)、高性能的 HTTP 服務(wù)器與反向代理服務(wù)器,也是當(dāng)前企業(yè)級(jí) Web 服務(wù)中最常用的組件之一,接下來通過本文給大家介紹Docker部署Nginx詳細(xì)攻略,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • docker-compose如何單獨(dú)更新某個(gè)服務(wù)

    docker-compose如何單獨(dú)更新某個(gè)服務(wù)

    這篇文章主要介紹了docker-compose如何單獨(dú)更新某個(gè)服務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細(xì)過程

    使用Docker搭建Vsftpd 的 FTP 服務(wù)的詳細(xì)過程

    FTP 基礎(chǔ)FTP 需要兩個(gè)端口,一個(gè)是數(shù)據(jù)端口,一個(gè)是控制端口,這篇文章主要介紹了使用Docker搭建Vsftpd的FTP服務(wù),需要的朋友可以參考下
    2022-08-08

最新評(píng)論

芜湖县| 安阳市| 枞阳县| 剑川县| 丹东市| 莱芜市| 婺源县| 罗甸县| 庆元县| 仁怀市| 灵川县| 武邑县| 光泽县| 皮山县| 南华县| 松阳县| 公主岭市| 益阳市| 金昌市| 黎城县| 甘谷县| 砀山县| 米泉市| 政和县| 沛县| 安阳县| 怀宁县| 宜春市| 神木县| 高淳县| 泾川县| 自贡市| 石楼县| 定襄县| 宝坻区| 凉山| 偏关县| 孝义市| 清原| 静安区| 精河县|