欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker打包及部署項目完整步驟

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

一、什么是Docker?

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

二、Docker基本常識

2.1 Dockerfile

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

2.2 鏡像

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

2.3 容器

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

三、項目打包

這里我們以php的web項目為例該項目目錄如下

1.Dockerfile文件編寫

文件參數(shù)詳解

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

文件內(nèi)容如下

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

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

2.開始打包

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

docker build  -t frid1:1.0 .

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

該命令語法如下:

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

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

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

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

四、項目拉起

我們可以通過命令

docker images

來查看剛才制作的鏡像

然后通過命令

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

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

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

該命令語法如下:

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

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

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

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

項目成功拉起

總結(jié) 

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

相關(guān)文章

  • docker 如何修改容器的端口

    docker 如何修改容器的端口

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

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

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

    docker-compose中啟動鏡像失敗的幾種解決方法

    本文主要介紹了docker-compose中啟動鏡像失敗的幾種解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 解決使用Docker Compose管理容器的問題

    解決使用Docker Compose管理容器的問題

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

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

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

    在docker中安裝mysql詳解

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

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

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

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

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

    Docker容器自啟動的實現(xiàn)方法

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

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

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

最新評論