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

在Docker中構(gòu)建并運行Nginx容器的完整教程

 更新時間:2024年09月14日 09:13:42   作者:神秘泣男子  
Docker 作為一種強大的容器化平臺,使得開發(fā)、測試和部署變得更加高效和靈活,Nginx 是一款廣泛使用的高性能 Web 服務器和反向代理服務器,適用于各種場景,在本教程中,我們將詳細介紹如何在 Docker 中構(gòu)建并運行一個 Nginx 容器,需要的朋友可以參考下

前言

在現(xiàn)代應用程序開發(fā)中,容器化技術(shù)已成為一種流行的解決方案。Docker 作為一種強大的容器化平臺,使得開發(fā)、測試和部署變得更加高效和靈活。Nginx 是一款廣泛使用的高性能 Web 服務器和反向代理服務器,適用于各種場景,如靜態(tài)文件服務、負載均衡和 API 網(wǎng)關(guān)等。在本教程中,我們將詳細介紹如何在 Docker 中構(gòu)建并運行一個 Nginx 容器,幫助開發(fā)者快速搭建和管理 Nginx 服務。

1.下載基礎鏡像

下載一個Nginx鏡像的鏡像基礎centos鏡像

docker pull centos

2.建立工作目錄

mkdir nginx
cd nginx

3.編寫Dockerfile文件

可以根據(jù)nginx安裝到編譯的過程來寫Dockerfile文件

在nginx目錄下執(zhí)行

vim Dockerfile
 
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
RUN curl -o /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install -y wget  proc-devel net-tools gcc gcc-c++ zlib zlib-devel make openssl-devel
RUN wget http://nginx.org/download/nginx-1.24.0.tar.gz
RUN tar zvxf nginx-1.24.0.tar.gz
RUN cd nginx-1.24.0 && ./configure --prefix=/usr/local/nginx && make && make install
EXPOSE 80
EXPOSE 443
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]

4.便攜執(zhí)行腳本內(nèi)容

vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx

5.生成鏡像

 docker build -t nginx:mynginx .

1.docker build:這是 Docker 的命令,用于根據(jù)指定的 Dockerfile 構(gòu)建一個新的鏡像。

2.-t nginx:mynginx:這是為生成的鏡像指定一個名稱和標簽。

3.nginx 是鏡像的名稱。4.mynginx 是鏡像的標簽。使用這種方式可以方便管理不同版本的鏡像。

  • .:**表示當前目錄是構(gòu)建上下文,這個目錄下必須包含 Dockerfile 文件。Docker 會根據(jù)這個 Dockerfile 中的指令來構(gòu)建鏡像。
構(gòu)建過程

在你提供的輸出中,可以看到構(gòu)建過程的各個階段:

加載構(gòu)建定義:Docker 讀取 Dockerfile 的內(nèi)容。

加載基礎鏡像:從 Docker Hub 獲取 centos:7 的元數(shù)據(jù)。

執(zhí)行 RUN 指令:

  • 清理默認的 yum 源。
  • 添加阿里云的 yum 源。
  • 安裝必要的包(如 wget, gcc, zlib 等)。
  • 下載 Nginx 的源代碼包。
  • 解壓 Nginx 包。
  • 編譯并安裝 Nginx。
  • 導出鏡像:將構(gòu)建的內(nèi)容導出為一個新的鏡像,命名為 nginx:mynginx。

6.啟動容器并測試

[root@localhost nginx]# docker run -d --name nginx01 -P  nginx:mynginx                                                  
f1489d3891a946dd667c11ac73fd588d5dd63021fbc89062cc152b33d24004d7

docker run:這是 Docker 的基本命令,用于創(chuàng)建并啟動一個新容器。

-d:表示以“分離模式”(detached mode)運行容器。容器將在后臺運行,而不是在當前終端中輸出日志。

--name nginx01:為新創(chuàng)建的容器指定一個名稱 nginx01。這樣可以方便后續(xù)管理和引用該容器,例如停止、啟動或刪除容器時使用該名稱。

-P:自動將容器的端口映射到主機上的隨機可用端口。Docker 會將容器內(nèi)部的端口(例如 Nginx 默認的 80 端口)映射到主機的一個隨機端口上,這樣可以通過主機的這個隨機端口訪問容器內(nèi)的服務。

nginx:mynginx:指定要使用的鏡像及其標簽。這里的 nginx 是鏡像名稱,mynginx 是鏡像的標簽。它表示你要運行的是名為 nginx 的鏡像的 mynginx 版本。

7. 查看端口狀態(tài)信息

查使用以下命令查看正在運行的容器及其端口狀態(tài):

docker ps

你將看到類似以下的輸出:

[root@localhost nginx]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED         STATUS         PORTS                                                                                NAMES
c99a84f4c5f4   nginx:mynginx   "/usr/local/nginx/sb…"   3 seconds ago   Up 2 seconds   0.0.0.0:32769->80/tcp, :::32769->80/

8. 進行訪問測試

現(xiàn)在,你可以通過主機的隨機端口訪問 Nginx 服務。例如,如果輸出中顯示 32769,則可以在瀏覽器中訪問 http://localhost:32769 來測試 Nginx 是否正常運行。

進行訪問測試

總結(jié)

通過以上步驟,我們成功地在 Docker 中構(gòu)建并運行了一個 Nginx 容器。這一過程涵蓋了從下載基礎鏡像、創(chuàng)建工作目錄,到編寫 Dockerfile 和啟動容器的完整流程。以下是一些關(guān)鍵點的總結(jié):

  1. 基礎鏡像的選擇:我們選擇了 CentOS 作為基礎鏡像,確保了與大多數(shù) Linux 系統(tǒng)的兼容性,同時也為后續(xù)安裝 Nginx 提供了一個穩(wěn)定的環(huán)境。
  2. Dockerfile 的編寫:通過精心設計的 Dockerfile,我們能夠自動化安裝 Nginx 及其依賴項,簡化了手動配置的復雜性。這種方法不僅提高了構(gòu)建的效率,還減少了人為錯誤的可能性。
  3. 容器化的優(yōu)勢:使用 Docker 運行 Nginx 使得服務的部署和管理變得更加靈活。容器可以快速啟動和停止,便于進行版本控制和環(huán)境隔離。
  4. 可擴展性和維護性:通過這種容器化的方式,后續(xù)的擴展和維護變得更加簡單。無論是增加新的功能,還是進行性能優(yōu)化,都可以通過更新 Dockerfile 和重建鏡像來實現(xiàn),而不影響現(xiàn)有的服務。
  5. 快速訪問和測試:通過映射容器端口到主機的隨機端口,我們能夠方便地訪問 Nginx 服務,快速進行測試和驗證。這一特性使得開發(fā)人員可以在本地環(huán)境中進行高效的調(diào)試。

總之,這種方法不僅能夠幫助我們快速部署 Nginx 服務,同時也為后續(xù)的擴展和維護提供了便利。希望本教程對你有所幫助,激勵你在項目中使用 Docker 和 Nginx,提升開發(fā)和運維的效率。

以上就是在Docker中構(gòu)建并運行Nginx容器的完整教程的詳細內(nèi)容,更多關(guān)于Docker構(gòu)建Nginx容器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker下Redis集群(主從+哨兵)安裝配置的實現(xiàn)步驟

    Docker下Redis集群(主從+哨兵)安裝配置的實現(xiàn)步驟

    本文主要介紹了Docker下Redis集群(主從+哨兵)安裝配置的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-07-07
  • Docker制作tomcat鏡像并部署項目

    Docker制作tomcat鏡像并部署項目

    這篇文章主要介紹了Docker制作tomcat鏡像并部署項目方法的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • docker-compose管理容器network與ip問題

    docker-compose管理容器network與ip問題

    這篇文章主要介紹了docker-compose管理容器network與ip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker Namespace容器隔離的實現(xiàn)

    Docker Namespace容器隔離的實現(xiàn)

    Namespace是Docker容器中的一種隔離機制,通過劃分資源獨立空間,確保容器之間互不干擾,本文主要介紹一下Docker Namespace容器隔離的實現(xiàn),感興趣的可以了解一下
    2024-11-11
  • Docker容器跨主機通信中直接路由方式詳解

    Docker容器跨主機通信中直接路由方式詳解

    在本篇文章里我們給各位整理的是一篇關(guān)于Docker容器跨主機通信中直接路由方式詳解內(nèi)容,有需要的朋友們可以參考下。
    2019-10-10
  • Docker搭建Skywalking的實現(xiàn)示例

    Docker搭建Skywalking的實現(xiàn)示例

    本文主要介紹了Docker搭建Skywalking的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • docker entrypoint入口文件詳解

    docker entrypoint入口文件詳解

    這篇文章主要介紹了docker entrypoint入口文件詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • docker上部署MySQL的示例

    docker上部署MySQL的示例

    這篇文章主要介紹了docker上部署MySQL的示例,幫助大家更好的理解和學習使用docker,感興趣的朋友可以了解下
    2021-04-04
  • 搭建docker-nginx服務,訪問nginx報錯403問題及解決

    搭建docker-nginx服務,訪問nginx報錯403問題及解決

    這篇文章主要介紹了搭建docker-nginx服務,訪問nginx報錯403問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • docker常用容器啟動docker-compose.yml配置文件使用

    docker常用容器啟動docker-compose.yml配置文件使用

    這篇文章主要介紹了docker常用容器啟動docker-compose.yml配置文件使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論