亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)行,無(wú)論是開發(fā)人員的個(gè)人計(jì)算機(jī)、測(cè)試環(huán)境還是生產(chǎn)服務(wù)器。通過(guò)使用 Docker,開發(fā)人員可以擺脫「在我的機(jī)器上可運(yùn)行」的問(wèn)題,因?yàn)槿萜魈峁┝艘环N標(biāo)準(zhǔn)化的方式來(lái)打包和分發(fā)應(yīng)用程序。開發(fā)人員可以創(chuàng)建一個(gè) Docker 鏡像,其中包含了應(yīng)用程序以及所有依賴項(xiàng)的配置,并將其部署到任何支持 Docker 的地方,而無(wú)需擔(dān)心環(huán)境差異和依賴項(xiàng)沖突。

二、Docker基本常識(shí)

2.1 Dockerfile

Dockerfile是一個(gè)文本文件,其中包含了構(gòu)建 Docker 鏡像所需的一系列步驟和指令。通過(guò)編寫 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),我們可以通過(guò)部署好的容器,在其他設(shè)備上訪問(wèn)我們打包的項(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)建過(guò)程中不使用緩存的鏡像層。如果之前的構(gòu)建產(chǎn)生了緩存的鏡像層,這個(gè)參數(shù)可以忽略并重新執(zhí)行所有的指令

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

四、項(xiàng)目拉起

我們可以通過(guò)命令

docker images

來(lái)查看剛才制作的鏡像

然后通過(guò)命令

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 端口。這樣,可以通過(guò)訪問(wèn)主機(jī)的 666 端口來(lái)訪問(wèn)容器內(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 如何修改容器的端口

    docker 如何修改容器的端口

    正在運(yùn)行的容器端口沖突了,但是還需要這個(gè)容器,怎么辦?只能修改端口了,今天通過(guò)本文給大家介紹docker 如何修改容器的端口,感興趣的朋友一起看看吧
    2024-01-01
  • Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法

    Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法

    在使用 Docker 時(shí),經(jīng)常需要?jiǎng)h除不再需要的鏡像、容器和卷,以釋放存儲(chǔ)空間,本文主要介紹了Docker刪除某個(gè)鏡像的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • docker-compose中啟動(dòng)鏡像失敗的幾種解決方法

    docker-compose中啟動(dòng)鏡像失敗的幾種解決方法

    本文主要介紹了docker-compose中啟動(dòng)鏡像失敗的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 解決使用Docker Compose管理容器的問(wèn)題

    解決使用Docker Compose管理容器的問(wèn)題

    在Docker Compose中,根據(jù)一個(gè)配置文件,將所有與應(yīng)用系統(tǒng)相關(guān)的應(yīng)用和對(duì)應(yīng)的容器進(jìn)行配置,再根據(jù)Docker Compose提供的命令進(jìn)行啟動(dòng),就可以解決上面說(shuō)的多容器之間的復(fù)雜問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • Docker出現(xiàn)tag顯示none鏡像的處理方案

    Docker出現(xiàn)tag顯示none鏡像的處理方案

    本文介紹了Docker中出現(xiàn)REPOSITORY和TAG都顯示為<none>的鏡像,即懸掛鏡像的原因,并提供了解決方法,包括查找和刪除懸掛鏡像,以及為它們指定新的標(biāo)簽
    2025-02-02
  • 在docker中安裝mysql詳解

    在docker中安裝mysql詳解

    本篇文章主要介紹了在docker中安裝mysql詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Docker拉取鏡像超時(shí)的原因分析與解決方法

    Docker拉取鏡像超時(shí)的原因分析與解決方法

    這篇文章主要為大家詳細(xì)介紹了Docker在拉取鏡像時(shí)超時(shí)的相關(guān)原因分析與解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • Mac系統(tǒng)上用Docker搭建lamp環(huán)境

    Mac系統(tǒng)上用Docker搭建lamp環(huán)境

    這篇文章主要給大家介紹了Mac系統(tǒng)上用Docker如何搭建lamp環(huán)境,文章給大家介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • Docker容器自啟動(dòng)的實(shí)現(xiàn)方法

    Docker容器自啟動(dòng)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Docker容器自啟動(dòng)的實(shí)現(xiàn)方法,詳細(xì)的介紹了Docker的 Restart policy命令,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 宿主機(jī)無(wú)法訪問(wèn)docker容器中nginx服務(wù)的問(wèn)題解決

    宿主機(jī)無(wú)法訪問(wèn)docker容器中nginx服務(wù)的問(wèn)題解決

    在虛擬機(jī)中部署Docker并安裝Nginx后,宿主機(jī)無(wú)法訪問(wèn)容器內(nèi)的Nginx服務(wù),通過(guò)檢查端口映射、防火墻狀態(tài)、進(jìn)入容器內(nèi)部啟動(dòng)Nginx以及檢查/修改內(nèi)核的IP轉(zhuǎn)發(fā)設(shè)置,解決了該問(wèn)題,感興趣的可以了解一下
    2024-11-11

最新評(píng)論