Heim > Betrieb und Instandhaltung > Docker > So verwenden Sie Docker zum Bereitstellen von Webprogrammen

So verwenden Sie Docker zum Bereitstellen von Webprogrammen

PHPz
Freigeben: 2023-04-04 13:50:47
Original
2652 Leute haben es durchsucht

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.

1. Docker installieren

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
Nach dem Login kopieren

2. Bereiten Sie die Webanwendung vor

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();
?>
Nach dem Login kopieren

三、准备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
Nach dem Login kopieren

上述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;
        }
}
Nach dem Login kopieren

上述Nginx配置文件中含有以下几部分:

  • server:指定Nginx监听的端口号和服务器名称;
  • root:指定根目录;
  • location:指定请求URL的匹配方式;
  • fastcgi_param:指定PHP程序的文件路径;
  • fastcgi_pass:指定php-fpm服务的地址。

四、构建镜像

在以上两个文件的目录下,运行如下命令来构建镜像:

docker build -t webapp .
Nach dem Login kopieren

其中,webapp是镜像名称,最后一个.代表当前目录。

构建完成后,我们可以用以下命令查看当前所有镜像:

docker images
Nach dem Login kopieren

五、运行容器

运行以下命令来启动容器:

docker run -p 80:80 -e TZ=Asia/Shanghai webapp
Nach dem Login kopieren

其中,-p参数将容器内的80端口映射到本机的80端口,-e参数指定容器的时区。

运行成功后,我们可以在浏览器中输入http://localhostrrreee

3. Bereiten Sie die Docker-Datei vor

Als nächstes müssen wir eine Docker-Datei zum Erstellen des Images vorbereiten. Erstellen Sie in einem beliebigen Verzeichnis auf diesem Computer eine neue Dockerfile-Datei mit folgendem Inhalt:

rrreee

Die obige Dockerfile enthält die folgenden Teile: 🎜
  • Basisbild: das Bild, auf das wir uns verlassen, hier haben wir PHP7.0 ausgewählt- FPM Als Basis-Image;
  • Lokalen Ordner in den aktuellen Container einbinden: Hier kopieren wir die lokale index.php-Datei in den Container;
  • Installieren Nginx: Installieren Sie Nginx im Container und kopieren Sie die Konfigurationsdatei in den Container.
  • Öffnen Sie Port 80: Öffnen Sie Port 80 des Containers für den externen Zugriff.
  • Starten Sie den Dienst: Starten Sie nginx und PHP-FPM-Dienste beim Ausführen des Containers.
🎜Darüber hinaus benötigen wir auch eine Nginx-Konfigurationsdatei. Erstellen Sie in einem beliebigen Verzeichnis auf diesem Computer eine neue Datei 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.
🎜4. Erstellen Sie das Image🎜🎜Führen Sie im Verzeichnis der beiden oben genannten Dateien den folgenden Befehl aus, um das Image zu erstellen:🎜rrreee🎜Unter diesen ist 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage