首頁  >  文章  >  運維  >  怎麼用docker部署web程式

怎麼用docker部署web程式

PHPz
PHPz原創
2023-04-04 10:41:392619瀏覽

Docker作為一個輕量級的容器技術,在應用部署和管理方面有著獨特的優勢。利用Docker,我們可以將應用程式與其所需的運行環境打包成一個可移植的容器,以實現快速、靈活的部署和管理。

本文將介紹如何使用Docker部署Web程序,以Nginx PHP-FPM為例。

一、安裝Docker

首先,我們需要在本機上安裝Docker。具體安裝方式可見[Docker官網](https://docs.docker.com/engine/installation/)。

安裝完成後,可以用以下指令查看Docker版本:

docker version

二、準備Web應用程式

#本文以一個最簡單的PHP程式為例:在本機器任意目錄下新建一個index.php文件,內容如下:

<?php
phpinfo();
?>

三、準備Docker文件

接下來,我們需要準備一個Dockerfile,用於構建鏡像。在本機任意目錄下新建一個Dockerfile文件,內容如下:

# 基础镜像
FROM php:7.0-fpm

# 将本地文件夹挂载到当前容器
RUN mkdir -p /var/www/html
WORKDIR /var/www/html
COPY index.php /var/www/html

# 安装nginx
RUN apt-get update
RUN apt-get install -y nginx

# 将nginx配置文件复制到容器中
COPY default.conf /etc/nginx/conf.d/default.conf

# 开放80端口
EXPOSE 80

# 启动nginx和php-fpm服务
CMD service nginx start && php-fpm

上述Dockerfile中含有以下幾部分:

  • 基礎映像:即我們所依賴的映像,這裡選擇了PHP7.0-FPM作為基礎鏡像;
  • 將本機資料夾掛載到目前容器:這裡我們將本地的index.php檔案複製到容器中;
  • 安裝Nginx:在容器中安裝Nginx,並將設定檔複製到容器中;
  • 開放80埠:將容器的80埠開放出來,供外部存取;
  • ##啟動服務:運行容器時啟動nginx和php-fpm服務。
另外,我們還需要一個Nginx的設定檔。在本機任意目錄下新建一個

default.conf文件,內容如下:

server {
        listen 80;
        server_name localhost;
        root /var/www/html;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        }
}
上述Nginx設定檔中含有以下幾部分:

  • #server
  • :指定Nginx監聽的連接埠號碼和伺服器名稱;
  • root
:指定根目錄;

location

:指定請求URL的符合方式;

fastcgi_param:指定PHP程式的檔案路徑;

fastcgi_pass

:指定php-fpm服務的位址。

四、建立鏡像

在以上兩個檔案的目錄下,執行以下指令來建構鏡像:<pre class="brush:php;toolbar:false">docker build -t webapp .</pre>其中,webapp是鏡像名稱,最後一個

.

代表目前目錄。 建置完成後,我們可以用以下指令查看目前所有鏡像:

docker images

五、執行容器

執行下列指令來啟動容器:

docker run -p 80:80 -e TZ=Asia/Shanghai webapp
## #其中,###-p###參數將容器內的80端口對應到本機的80端口,###-e###參數指定容器的時區。 ######運行成功後,我們可以在瀏覽器中輸入###http://localhost###來存取網頁應用程式。 ######六、總結######透過上述步驟,我們成功地使用Docker部署了一個簡單的Web應用程式。利用Docker可以有效地減少複雜的配置流程,讓部署和管理變得更容易和自動化。隨著容器技術的不斷發展與完善,Docker必將成為未來應用程式部署和管理的主流工具之一。 ###

以上是怎麼用docker部署web程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn