天天看點

docker compose 安裝PHP nginx

學習到了docker compose ,記錄一下。我的伺服器是ubuntu

1.安裝docker compose 官網都有。導航:https://docs.docker.com/compose/install/#install-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
           
sudo chmod +x /usr/local/bin/docker-compose
           

檢視一下版本号

docker-compose --version
           

ok,安裝成功

1.找一個地方,建立一個項目的根目錄,我喜歡創在系統根目錄,也就是:

cd ~/
           

建立目錄,并cd到項目目錄

sudo mkdir dockerised && cd dockerised
           

建立docker-compose.yml檔案

sudo vim docker-compose.yml
           

把下面的内容複制到docker-compose.yml

version: '2'

services:
    web:
        image: nginx:latest
        ports:
            - "8080:80"
        volumes:
            - ./code:/code
            - ./site.conf:/etc/nginx/conf.d/default.conf
        networks:
            - code-network
    php:
        image: php:fpm
        volumes:
            - ./code:/code
        networks:
            - code-network

networks:
    code-network:
        driver: bridge
           

建立site.conf配置檔案

sudo vim site.conf
           

把下面的内容複制到site.conf中

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}
           

建立一個code檔案,來放置你項目的代碼。現在我們來建立一個phpinfo();

sudo mkdir code && cd code
           
sudo vim index.php
           

把下面的内容放在index.php中

<?php
phpinfo();
           

做完這些,你的項目檔案夾應該是這樣的:

docker compose 安裝PHP nginx

然後,我們在dockerised根目錄中執行

sudo docker-compose up -d
           

你可以看到它自動下載下傳了,并且自動啟動了,等他程序結束,你執行

sudo docker ps
           

檢視一下程序,php與nginx是否成功執行,然後,你在浏覽器中輸入你伺服器的網址,例如:127.0.0.1:8080,然後你就會看到很熟悉的頁面了,沒錯,就是code檔案夾下的index.php.