Docker 安裝 Nginx

一、Docker 安裝

Docker 是一個開源項目,它可以幫助我們將應用程序和它們的依賴打包成一個容器,並且可以在不同的服務器上,不同的操作系統上運行。這樣就有效地解決了在不同環境中部署應用程序的問題。

要在 Linux 操作系統上安裝 Docker,需要執行以下步驟:

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo systemctl start docker
$ sudo systemctl enable docker

二、Docker 鏡像

Docker 鏡像是用於創建 Docker 容器的一個模板。它包含了操作系統、應用程序和它們的依賴。Docker 鏡像可以從 Docker Hub 或者自己創建。

要拉取官方的 Nginx 鏡像,需要執行以下命令:

$ sudo docker pull nginx

可以使用以下命令來列出已經拉取的鏡像:

$ sudo docker images

如果需要自己創建 Docker 鏡像,可以使用 Dockerfile 文件。

Dockerfile 文件示例:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install nginx -y
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

上述 Dockerfile 文件描述了一個從 Ubuntu 最新版本開始構建的鏡像,然後更新系統並安裝 Nginx,並將容器的 80 端口暴露出來,並啟動 Nginx 服務。

要構建 Docker 鏡像,需要執行以下命令:

$ sudo docker build -t mynginx .

其中,-t mynginx 表示給構建的鏡像取一個名字為 mynginx。

可以使用以下命令運行已經構建好的鏡像:

$ sudo docker run -d -p 80:80 mynginx

其中,-d 表示容器在後台運行,-p 80:80 表示將容器的 80 端口映射到宿主機的 80 端口,mynginx 表示運行的鏡像名。

三、使用 Docker Compose

Docker Compose 是一個工具,它可以幫助我們定義和運行多個 Docker 容器。使用 Docker Compose,我們可以快速地啟動一組容器,並且可以統一管理這些容器。

要使用 Docker Compose,需要創建一個 docker-compose.yml 文件。

docker-compose.yml 文件內容示例:

version: '3'
services:
  nginx:
    image: nginx
    ports:
      - "80:80"

上述示例定義了一個 service 名稱為 nginx,使用 Nginx 官方鏡像,將它的容器端口 80 映射到宿主機的 80 端口。

在 docker-compose.yml 所在目錄執行以下命令啟動容器:

$ sudo docker-compose up

如果需要在後台運行,可以加上 -d 參數:

$ sudo docker-compose up -d

四、使用 Nginx 配置文件

如果需要對 Nginx 進行配置,可以將自己的配置文件掛載到容器裏面。

示例:

將新建一個目錄 mynginx,將容器啟動命令改為:

$ sudo docker run -d -p 80:80 -v /pathto/mynginx:/etc/nginx/conf.d mynginx

其中,-v /pathto/mynginx:/etc/nginx/conf.d 表示將 mynginx 目錄掛載到容器的 /etc/nginx/conf.d 目錄下。

在 mynginx 目錄下新建一個配置文件 my.conf,內容如下:

server {
    listen 80;
    server_name mydomain.com;
    location / {
        root /var/www/html;
        index index.html;
    }
}

然後重啟容器就可以使用自定義的配置文件了。

$ sudo docker restart container_id

五、總結

本文對 Docker 安裝 Nginx 做了詳細的闡述,並從 Docker 安裝、Docker 鏡像、Docker Compose、使用 Nginx 配置文件這幾個方面進行了講解。Docker 鏡像是容器化部署的基礎,Docker Compose 可以幫助我們更方便地管理一組容器,使用 Nginx 配置文件可以對 Nginx 進行自定義配置。

原創文章,作者:IDEOS,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/333703.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IDEOS的頭像IDEOS
上一篇 2025-02-01 13:34
下一篇 2025-02-01 13:34

相關推薦

  • docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz這個依賴的解決方案

    當我們在linux centos系統中安裝docker-ce-18.03.1.ce-1.el7.centos.x86_64時,有時可能會遇到「nothing provides pi…

    編程 2025-04-29
  • 如何解決Docker+k8s報錯413 Request Entity Too Large

    對於使用Docker容器和Kubernetes集群的開發人員,在處理HTTP請求時,常常會遇到413 Request Entity Too Large的報錯。這通常是由於請求的大小…

    編程 2025-04-27
  • docker-compose編寫用法介紹

    本文將詳細介紹docker-compose編寫的各個方面,包括語法、常見命令等等,旨在幫助讀者更好的了解如何使用docker-compose。 一、docker-compose的語…

    編程 2025-04-27
  • Java如何從Nginx下載文件

    本文將從以下幾個方面詳細介紹如何使用Java從Nginx下載文件。 一、準備工作 在Java中下載文件需要使用到Apache HttpClient庫,這個庫是一個基於Java的HT…

    編程 2025-04-27
  • Docker 垃圾電腦的解決方案

    Docker 是一種輕量級的容器化技術,可以在一個操作系統中,同時運行多個獨立的應用。在使用 Docker 的過程中,可能會出現 Docker 佔用大量硬盤空間,導致電腦變得極其緩…

    編程 2025-04-27
  • Docker掛載目錄–graph用法介紹

    本文將從如下幾個方面詳細闡述Docker掛載目錄–graph: 一、基本概念 在Docker中,鏡像是由一系列只讀層組成的文件系統。當我們啟動一個容器時,Docker會…

    編程 2025-04-27
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Docker批量刪除容器詳解

    一、前言 Docker是一個開源的應用容器引擎,提供了一種輕量級容器化技術,方便快捷的進行應用打包、發佈、運行。作為廣泛應用的技術之一,Docker是開發、測試、運維的得力助手。但…

    編程 2025-04-25
  • NGINX權限被拒絕問題

    NGINX是一款常見的Web服務器軟件,但是在使用中常會遇到「permission denied」權限被拒絕的問題。下文將從多個方面介紹本問題和解決方法。 一、系統權限問題 1、檢…

    編程 2025-04-25
  • Docker鏡像管理

    一、查看所有鏡像 使用docker命令可以很輕鬆地查看所有已經構建好的鏡像,命令如下: docker images 該命令將列出所有本地docker主機上所有的鏡像: REPOSI…

    編程 2025-04-25

發表回復

登錄後才能評論