From 515d92abd23c83cbd12596be7cd6f445d2b4ec2a Mon Sep 17 00:00:00 2001 From: Joseph Barreca Date: Thu, 25 Mar 2021 23:46:03 -0400 Subject: [PATCH] Sample for nginx-php-mysql Signed-off-by: Joseph Barreca --- .DS_Store | Bin 0 -> 6148 bytes nginx-php-mysql/.DS_Store | Bin 0 -> 8196 bytes nginx-php-mysql/README.md | 68 ++++++++++++++++++++++++++++ nginx-php-mysql/backend/.DS_Store | Bin 0 -> 6148 bytes nginx-php-mysql/backend/Dockerfile | 1 + nginx-php-mysql/db/password.txt | 1 + nginx-php-mysql/docker-compose.yaml | 34 ++++++++++++++ nginx-php-mysql/proxy/.DS_Store | Bin 0 -> 6148 bytes nginx-php-mysql/proxy/Dockerfile | 2 + nginx-php-mysql/proxy/conf | 32 +++++++++++++ nginx-php-mysql/src/index.php | 3 ++ 11 files changed, 141 insertions(+) create mode 100644 .DS_Store create mode 100644 nginx-php-mysql/.DS_Store create mode 100644 nginx-php-mysql/README.md create mode 100644 nginx-php-mysql/backend/.DS_Store create mode 100755 nginx-php-mysql/backend/Dockerfile create mode 100644 nginx-php-mysql/db/password.txt create mode 100644 nginx-php-mysql/docker-compose.yaml create mode 100644 nginx-php-mysql/proxy/.DS_Store create mode 100755 nginx-php-mysql/proxy/Dockerfile create mode 100755 nginx-php-mysql/proxy/conf create mode 100644 nginx-php-mysql/src/index.php diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f43ab61e5d9dc9bcc605c97017b0200b92d7dda3 GIT binary patch literal 6148 zcmeHK%}N6?5T0n&v?3M}^q7mc3Tv^b2Vtpt@FuM2K}C0Iu?y>_cDL4AEBhMyMm~YB z<4h98T17$7A{m(ZCdo{8^Fe+F09dtMTLCBn07oUv70`SjG)_7sW2PsE$kZIyungxQ zAp(CW+ICn5ECZv)0PWp5h;i43Xy5K%>RW~j=t2UQ5Cxs28ALL`_{X3bg-Pl-Pi$;F zH!(TId4U&Z3MXDecD&S2+ey`L9Z_q~PaA>p_oa+peLpw|>z&i${FaPUKaA@wl^oXU z7;=0V#x>cg%642!)I6RZ;5^Usr^UryZ@ui4#A>;T z7m_WGDg$O)@aa+gLHl2p0n5OjF+k^oKqYhyW*XJefku@8i1dt5ff4Q3j3IxtgwF!N<*Dio%^j`Ir@4$RePt!2P6Fv!5TZWihO z-}$`$A55|>%YbFzUopUP+un8+mt^kNp~cZ%D^Sl+NhmJUs8Z0F>sUE-6)&PH!7)J& WqH8eIh&?FwA)sim#xn4$3_Jsi9i-F% literal 0 HcmV?d00001 diff --git a/nginx-php-mysql/.DS_Store b/nginx-php-mysql/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..02f1c3d61c48cce9d8c307de5b2efbbcf3bdd115 GIT binary patch literal 8196 zcmeHM&2G~`5S~rab`wD4fJ9DcFWho)A|k{A$)w@Ht&$N){HV3#sIhRoR_qYkG{~<3 z&(RmCdg2Lq9cF(Ng_v-IqA(-vew&?{oy;fiZpHxs)}MtPfEEC7YzmvVu=|B5y=ovtKT=39`)QIOeXem)ND_@$KbYU~HEqS5@gdGAmrxgRB?sdkRS5t_Vv z9VMZh_vI`JGrf*y6r9(2{kYj$EP772ExJx`*%pf@U8gM`Kk6-)b$HWJ>06s92I6P)d8+G{Cp zBwvLLlOOJC;x@hbwBrrsBwgDKRx^=yb{S2*E+VD5pbi8fVpGg)f zEN(5=Vqws1QM&&X8zjWQ%`s3lp vwFR~lY)X_}VNknZr%cqmF2@m9e;DFeSe$s|@@A9o{l6 literal 0 HcmV?d00001 diff --git a/nginx-php-mysql/README.md b/nginx-php-mysql/README.md new file mode 100644 index 0000000..5c849ad --- /dev/null +++ b/nginx-php-mysql/README.md @@ -0,0 +1,68 @@ +## Compose sample application +### PHP server with an Nginx proxy and a MySQL database + +Project structure: +``` +. +├── backend +│   ├── Dockerfile +├── db +│   └── password.txt +├── docker-compose.yaml +├── proxy +│   ├── conf +│   └── Dockerfile +├── src +│   ├── index.php +└── README.md +``` + +[_docker-compose.yaml_](docker-compose.yaml) +``` +services: + backend: + build: backend + ... + db: + image: mysql:8.0.19 + ... + proxy: + build: proxy + ports: + - 80:80 + ... +``` +The compose file defines an application with three services `proxy`, `backend` and `db`. +When deploying the application, docker-compose maps port 80 of the proxy service container to port 80 of the host as specified in the file. +Make sure port 80 on the host is not already in use. + +## Deploy with docker-compose + +``` +$ docker-compose up -d +Creating nginx-php-mysql_db_1 ... done +Creating nginx-php-mysql_backend_1 ... done +Creating nginx-php-mysql_proxy_1 ... done +``` + +## Expected result + +Listing containers must show three containers running and the port mapping as below: +``` +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +2244050972fc nginx-php-mysql_proxy "/docker-entrypoint.…" 51 seconds ago Up 49 seconds 0.0.0.0:80->80/tcp nginx-php-mysql_proxy_1 +75353040cb38 nginx-php-mysql_backend "docker-php-entrypoi…" 51 seconds ago Up 50 seconds 9000/tcp nginx-php-mysql_backend_1 +e54bd7e0c790 mysql:8.0.19 "docker-entrypoint.s…" 52 seconds ago Up 50 seconds 3306/tcp, 33060/tcp nginx-php-mysql_db_1 +``` + +After the application starts, navigate to `http://localhost:80` in your web browser or run: +``` +$ curl localhost:80 +

hello world in php!

+``` + +Stop and remove the containers +``` +$ docker-compose down +``` diff --git a/nginx-php-mysql/backend/.DS_Store b/nginx-php-mysql/backend/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0S5Z<*_w-qr5!5;VGt%tN&#DfrOJ$Mr$dQfQ-TWlaEB}pwBD|rolBcH(6 zab|Zb7JKj{VrO9Yo7tJ!&3uskVT|$ixZhyRVvGrBh#Zv#g2M}4D<&9`;~eS84`Uy! zH-BV&e;x4KODtsxyYVMqzdsDp%(mb8N~yfMwk||fR5z>F?l7LXnU{^zwwGL@b?Rk9 z-{@y?9DeGae;y1bU2FR&jxsNZ28l`z`U42Lx(K3vJZZ<{sGq8NTwnop(t~hello world in php!'; +?> \ No newline at end of file