Heim > Artikel > Betrieb und Instandhaltung > So verwenden Sie Docker zum Bereitstellen von Webprogrammen
Docker bietet als leichte Containertechnologie einzigartige Vorteile bei der Anwendungsbereitstellung und -verwaltung. Mit Docker können wir die Anwendung und die erforderliche Betriebsumgebung in einen tragbaren Container packen, um eine schnelle und flexible Bereitstellung und Verwaltung zu erreichen.
In diesem Artikel wird am Beispiel von Nginx+PHP-FPM erläutert, wie Sie Docker zum Bereitstellen von Webprogrammen verwenden.
Zuerst müssen wir Docker auf diesem Computer installieren. Die spezifische Installationsmethode finden Sie auf der [offiziellen Docker-Website](https://docs.docker.com/engine/installation/).
Nachdem die Installation abgeschlossen ist, können Sie den folgenden Befehl verwenden, um die Docker-Version zu überprüfen:
docker version
Dieser Artikel nimmt das einfachste PHP-Programm als Beispiel: Erstellen Sie einen neuen index. php in einem beliebigen Verzeichnis der lokalen Maschine
Datei, der Inhalt ist wie folgt: index.php
文件,内容如下:
<?php phpinfo(); ?>
接下来,我们需要准备一个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中含有以下几部分:
index.php
文件复制到容器中;另外,我们还需要一个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服务的地址。在以上两个文件的目录下,运行如下命令来构建镜像:
docker build -t webapp .
其中,webapp
是镜像名称,最后一个.
代表当前目录。
构建完成后,我们可以用以下命令查看当前所有镜像:
docker images
运行以下命令来启动容器:
docker run -p 80:80 -e TZ=Asia/Shanghai webapp
其中,-p
参数将容器内的80端口映射到本机的80端口,-e
参数指定容器的时区。
运行成功后,我们可以在浏览器中输入http://localhost
rrreee
rrreee
Die obige Dockerfile enthält die folgenden Teile: 🎜index.php
-Datei in den Container;default.conf
mit folgendem Inhalt: 🎜rrreee🎜Die obige Nginx-Konfigurationsdatei enthält die folgenden Teile: 🎜server: Geben Sie die Portnummer und den Servernamen an, auf denen Nginx lauscht.
root
: Geben Sie das Stammverzeichnis an. location; code>: Geben Sie die Methode zum Abgleich der Anforderungs-URL an.
fastcgi_param
: Gibt den Dateipfad des PHP-Programms an fastcgi_pass
: Gibt die PHP-FPM-Dienstadresse an. webapp
Bildname und der letzte .
repräsentiert das aktuelle Verzeichnis. 🎜🎜Nachdem die Konstruktion abgeschlossen ist, können wir den folgenden Befehl verwenden, um alle aktuellen Bilder anzuzeigen: 🎜rrreee🎜 5. Führen Sie den Container aus. 🎜🎜Führen Sie den folgenden Befehl aus, um den Container zu starten: 🎜rrreee🎜 Darunter der - Der Parameter p
befindet sich im Container. Port 80 wird Port 80 des lokalen Computers zugeordnet, und der Parameter -e
gibt die Zeitzone des Containers an. 🎜🎜Nach erfolgreicher Ausführung können wir http://localhost
in den Browser eingeben, um auf die Webanwendung zuzugreifen. 🎜🎜6. Zusammenfassung🎜🎜Durch die oben genannten Schritte haben wir erfolgreich eine einfache Webanwendung mit Docker bereitgestellt. Durch die Verwendung von Docker kann der komplexe Konfigurationsprozess effektiv reduziert werden, wodurch Bereitstellung und Verwaltung einfacher und automatisierter werden. Mit der kontinuierlichen Weiterentwicklung und Verbesserung der Containertechnologie wird Docker in Zukunft sicherlich zu einem der Mainstream-Tools für die Anwendungsbereitstellung und -verwaltung werden. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker zum Bereitstellen von Webprogrammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!