一直聽說Docker比較厲害,但是一直沒有了解,今天在嗶哩嗶哩上刷了一下入門課后,簡直發現新大陸般,Docker的強大真的了解太晚了。這篇使用Docker搭建php7環境的文章需要一點入門知識。下面開始。
環境
首先安裝Docker,無論你是Windows還是Linux、MocOS都可以。安裝Docker自行百度。
Docker鏡像源
訪問https://hub.docker.com即可,它是鏡像大倉庫。
安裝Ngnix鏡像
輸入:
docker pull nginx
安裝php鏡像
docker pull php:7.1.30-fpm
實例化
實例化準備
新建幾個文件夾,分別用來映射:網站根目錄、nginx配置文件、日志文件
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
在新建的www目錄中新建:index.php
用來檢測php環境是否搭建成功:
<?php
phpinfo();
?>
在nginx配置文件目錄conf
下新建:test-php.conf
,后綴是.conf
即可:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
這是php最常見的默認配置,默認就好。
實例化php
docker run --name myphp7 -v ~/nginx/www:/www -d php:7.1.30-fpm
實例化nginx
docker run --name php-nginx -p 80:80 -v ~/Documents/dock/nginx/www:/usr/share/nginx/html -v ~/Documents/dock/nginx/conf:/etc/nginx/conf.d --link myphp7:php -d nginx
這是指定端口,網站根目錄,網站配置文件目錄,其實沒有指定網站日志目錄,不知道你有沒有看出來,哈哈哈!
輸入docker ps
看看:
docker ps
訪問:127.0.0.1
phpinfo()界面
當然這是完全順利的結果,需要前期不斷嘗試,剛剛試了很多坑才明白其中的一些細節。弄明白后使用覺得Docker部署真的是方便快捷,沙盒機制很干凈。
挖個小坑,接下來繼續研究,Flask+uwsgi+nginx使用docker需要怎么操作部署。