当先锋百科网

首页 1 2 3 4 5 6 7

学习到了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();

做完这些,你的项目文件夹应该是这样的:


然后,我们在dockerised根目录中执行

sudo docker-compose up -d

你可以看到它自动下载了,并且自动启动了,等他进程结束,你执行

sudo docker ps
查看一下进程,php与nginx是否成功执行,然后,你在浏览器中输入你服务器的网址,例如:127.0.0.1:8080,然后你就会看到很熟悉的页面了,没错,就是code文件夹下的index.php.