docker-compose 构建php72-fpm从零起步(1)
程序员文章站
2022-06-11 12:46:32
...
我的docker-compose学习系列文章
docker-compose 构建php72-fpm从零起步(1)
docker-compose 构建php72-fpm从零起步(2)
docker-compose 构建php72-fpm从零起步(3)
说明:
docker-compose 这个文件就是单个的linux可执行文件,而docker宿主机就是linux。
所以只需下载这个文件并放到共享文件夹即可。再在linux下赋予权限。
而官网那个网址会被墙,所以网上找到如下网址。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > ./docker-compose
chmod +x ./docker-compose
===========================
命名特点:
docker-composer会自动命名镜像和容器。
镜像命名:文件夹+ 配置里的名称。
容器命名:镜像命名+ _1
========================
镜像选择:
这个 devilbox/php-fpm:7.2-mods 是我精心选择的。
特点就是,几乎所有常用的php插件都装了,开发特方便。
=========================
正文:
我的d盘,有docker_study目录,映射到docker宿主机的 / docker_study目录。
docker下,
cd / dcoker_study
mkdir compose
cd compose
在compose 下建立如下目录和文件
app
- 1.php
bin
- docker-compose
build
- nginx
-- conf.d
--- default.conf
-- Dockerfile
- php
-- Dockerfile
- docker-compose.yml
放图:
文件内容如下:
app / 1.php
<?php
phpinfo();
bin / docker-compose
用本文上方介绍的方法得到
build / docker-compose.yml
version: '3.2'
services:
php-fpm:
build: ./php/
ports:
- "9000:9000"
restart: always
volumes:
- ../app:/data/www:rw
nginx:
build: ./nginx
depends_on:
- php-fpm
links:
- php-fpm:php-fpm
volumes:
- ../app:/data/www:rw
- ./nginx/conf.d:/etc/nginx/conf.d:ro
ports:
- "80:80"
restart: always
command: nginx -g 'daemon off;'
build / nginx / Dockerfile
FROM nginx:1.12
# set timezome
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
build / nginx / conf.d / default.conf
server {
listen 80 default;
autoindex off;
charset utf-8;
server_name localhost docker 127.0.0.1 www.test1.com;
root /data/www;
index index.php ;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php {
include fastcgi_params;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name;
}
}
build / php / Dockerfile
FROM devilbox/php-fpm:7.2-mods
# set timezome
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
然后,
docker pull nginx:1.12
docker pull devilbox/php-fpm:7.2-mods
cd /docker_study/compose/build/
这一步不能出错,否则查原因。
../bin/docker-compose build
这一步也不能出错。
../bin/docker-compose up -d
浏览器打开
http://192.168.99.100/1.php
欣赏一下
退出应用
../bin/docker-compose down
docker-compose 构建php72-fpm从零起步(1)
docker-compose 构建php72-fpm从零起步(2)
docker-compose 构建php72-fpm从零起步(3)
说明:
docker-compose 这个文件就是单个的linux可执行文件,而docker宿主机就是linux。
所以只需下载这个文件并放到共享文件夹即可。再在linux下赋予权限。
而官网那个网址会被墙,所以网上找到如下网址。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > ./docker-compose
chmod +x ./docker-compose
===========================
命名特点:
docker-composer会自动命名镜像和容器。
镜像命名:文件夹+ 配置里的名称。
容器命名:镜像命名+ _1
========================
镜像选择:
这个 devilbox/php-fpm:7.2-mods 是我精心选择的。
特点就是,几乎所有常用的php插件都装了,开发特方便。
=========================
正文:
我的d盘,有docker_study目录,映射到docker宿主机的 / docker_study目录。
docker下,
cd / dcoker_study
mkdir compose
cd compose
在compose 下建立如下目录和文件
app
- 1.php
bin
- docker-compose
build
- nginx
-- conf.d
--- default.conf
-- Dockerfile
- php
-- Dockerfile
- docker-compose.yml
放图:
文件内容如下:
app / 1.php
引用
<?php
phpinfo();
bin / docker-compose
用本文上方介绍的方法得到
build / docker-compose.yml
引用
version: '3.2'
services:
php-fpm:
build: ./php/
ports:
- "9000:9000"
restart: always
volumes:
- ../app:/data/www:rw
nginx:
build: ./nginx
depends_on:
- php-fpm
links:
- php-fpm:php-fpm
volumes:
- ../app:/data/www:rw
- ./nginx/conf.d:/etc/nginx/conf.d:ro
ports:
- "80:80"
restart: always
command: nginx -g 'daemon off;'
build / nginx / Dockerfile
引用
FROM nginx:1.12
# set timezome
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
build / nginx / conf.d / default.conf
引用
server {
listen 80 default;
autoindex off;
charset utf-8;
server_name localhost docker 127.0.0.1 www.test1.com;
root /data/www;
index index.php ;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php {
include fastcgi_params;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name;
}
}
build / php / Dockerfile
引用
FROM devilbox/php-fpm:7.2-mods
# set timezome
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
然后,
docker pull nginx:1.12
docker pull devilbox/php-fpm:7.2-mods
cd /docker_study/compose/build/
这一步不能出错,否则查原因。
../bin/docker-compose build
这一步也不能出错。
../bin/docker-compose up -d
浏览器打开
http://192.168.99.100/1.php
欣赏一下
退出应用
../bin/docker-compose down
上一篇: 闲的! 情感
下一篇: 上海宝付面试破茧而出