{"id":11790,"date":"2023-07-07T11:37:11","date_gmt":"2023-07-07T04:37:11","guid":{"rendered":"http:\/\/km.ict.buu.ac.th\/?p=11790"},"modified":"2023-07-07T13:17:20","modified_gmt":"2023-07-07T06:17:20","slug":"%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-docker-compose-%e0%b9%80%e0%b8%9e%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99-nginx-php-fp","status":"publish","type":"post","link":"https:\/\/km.ict.buu.ac.th\/?p=11790","title":{"rendered":"\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 docker compose \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 nginx php-fpm mariadb \u0e41\u0e25\u0e30 phpadmin"},"content":{"rendered":"<p>&nbsp; &nbsp; &nbsp; &nbsp; Docker compose \u0e04\u0e37\u0e2d script \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e2b\u0e25\u0e32\u0e22\u0e46 container \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e42\u0e14\u0e22\u0e1b\u0e01\u0e15\u0e34\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e08\u0e32\u0e01 image \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 \u0e16\u0e49\u0e32\u0e08\u0e30\u0e17\u0e14\u0e2a\u0e2d\u0e1a wordpress \u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container web server \u0e41\u0e25\u0e30 database \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 2 container \u0e40\u0e02\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e17\u0e35\u0e25\u0e30\u0e15\u0e31\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2a\u0e35\u0e22\u0e40\u0e27\u0e25\u0e32<br>&nbsp; &nbsp; &nbsp; &nbsp; \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e17\u0e35\u0e48\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e02\u0e49\u0e32\u0e07\u0e15\u0e49\u0e19\u0e40\u0e25\u0e22\u0e40\u0e01\u0e34\u0e14 docker compose \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e04\u0e37\u0e2d\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e44\u0e27\u0e49\u0e43\u0e19\u0e44\u0e1f\u0e25\u0e4c docker-compose.yml \u0e40\u0e25\u0e22 \u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49 services \u0e2d\u0e30\u0e44\u0e23\u0e1a\u0e49\u0e32\u0e07 \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e44\u0e23\u0e1a\u0e49\u0e32\u0e07 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19 docker-compose \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 docker-compose up -d \u0e01\u0e47\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e17\u0e38\u0e01\u0e46\u0e2d\u0e31\u0e19\u0e42\u0e14\u0e22\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e44\u0e27\u0e49<\/p><p class=\"has-normal-font-size\"><strong>\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e02\u0e2d\u0e07 Docker-compose<\/strong><br>build \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Services \u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07 Services \u0e08\u0e32\u0e01 Dockerfile<br>bundle \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 File \u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17 JSON Object<br>config \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e41\u0e25\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01\u0e14\u0e39 File \u0e02\u0e2d\u0e07 docker-compose.yml \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e2d\u0e32\u0e44\u0e27\u0e49<br>create \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07 Services<br>down \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Container<br>events \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e2d\u0e01\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07 Container<br>exec \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 Container \u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07<br>help \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e0a\u0e48\u0e27\u0e22\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39 Command \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<br>images \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e14\u0e39 Images \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e43\u0e19 Docker<br>kill \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e1b\u0e34\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Container<br>logs \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07\u0e08\u0e32\u0e01 Container<br>pause \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2b\u0e22\u0e38\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Container<br>port \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e14\u0e39 port \u0e02\u0e2d\u0e07 Container<br>ps \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e4d\u0e32\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e4d\u0e32\u0e2b\u0e23\u0e31\u0e1a\u0e14\u0e39\u0e27\u0e48\u0e32\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35 Container \u0e15\u0e31\u0e27\u0e44\u0e2b\u0e19\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e07<br>pull \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23 Download Services \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19 Docker Hub<br>push \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23 Push Services \u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1a\u0e19 Docker Hub<br>restart \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23 Restart \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49 Container \u0e17\u0e33\u0e07\u0e32\u0e19\u0e43\u0e2b\u0e21\u0e48<br>rm \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e4d\u0e32\u0e2b\u0e23\u0e31\u0e1a\u0e44\u0e27\u0e49\u0e25\u0e1a Container \u0e2b\u0e32\u0e01\u0e27\u0e48\u0e32 Container \u0e01\u0e33\u0e25\u0e31\u0e07\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e17\u0e33\u0e01\u0e32\u0e23 Stop \u0e01\u0e48\u0e2d\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Docker rm -f \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e25\u0e1a<br>run \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Container \u0e43\u0e2b\u0e21\u0e48 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07 Services<br>scale \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07 Run Container \u0e42\u0e14\u0e22\u0e40\u0e23\u0e35\u0e22\u0e07\u0e15\u0e32\u0e21\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e01\u0e33\u0e2b\u0e19\u0e14<br>start \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Container \u0e43\u0e19 Docker-Compose<br>stop \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2b\u0e22\u0e38\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Container \u0e43\u0e19 Docker-Compose \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48<br>top \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e01\u0e33\u0e25\u0e31\u0e07\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19 Docker-compose.yml<br>unpause \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e17\u0e33\u0e43\u0e2b\u0e49 Container \u0e17\u0e35\u0e48\u0e16\u0e39\u0e01 Pause \u0e17\u0e33\u0e07\u0e32\u0e19\u0e15\u0e48\u0e2d<br>up \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Start Container \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 \u0e43\u0e19 Docker-compose \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48<br>version \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a Version<\/p><p><strong>\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e19\u0e44\u0e1f\u0e25\u0e4c docker-compose.yml<\/strong><br>version \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e23\u0e30\u0e1a\u0e38\u0e27\u0e48\u0e32\u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49 Compose file \u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e2d\u0e30\u0e44\u0e23<br>services \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e23\u0e30\u0e1a\u0e38 container \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<br>image \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49 Image \u0e08\u0e32\u0e01 Docker Hub Registry<br>ports \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33 port mapping \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07 host \u0e01\u0e31\u0e1a container<br>volumes \u2014 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 volumes \u0e21\u0e35 2 \u0e41\u0e1a\u0e1a \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e20\u0e32\u0e22\u0e43\u0e19\u0e0a\u0e37\u0e48\u0e2d service \u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e01\u0e47\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21 volume \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a services \u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 volume<br>build \u2014 \u0e01\u0e32\u0e23\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 image \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e08\u0e32\u0e01 Dockerfile<br>links \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e1c\u0e39\u0e01 service \u0e40\u0e02\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19 \u0e17\u0e33\u0e43\u0e2b\u0e49 service \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 service \u0e17\u0e35\u0e48 link \u0e44\u0e14\u0e49<br>restart: alway \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49 service \u0e19\u0e31\u0e49\u0e19 restart \u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48<br>network \u2014 \u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e32\u0e07\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23\u0e01\u0e31\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07 container<br>memory limit \u2014 \u0e01\u0e32\u0e23\u0e08\u0e33\u0e01\u0e31\u0e14\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 container \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 ram \u0e40\u0e01\u0e34\u0e19\u0e17\u0e35\u0e48\u0e15\u0e31\u0e49\u0e07\u0e44\u0e27\u0e49<br>context \u2014 path \u0e02\u0e2d\u0e07 dockerfile \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container<br>memory reservations \u2014 \u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 ram \u0e02\u0e31\u0e49\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a container<br>depens_on \u2014 \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49 service \u0e19\u0e31\u0e49\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01 service \u0e17\u0e35\u0e48 depens_on \u0e2d\u0e22\u0e39\u0e48\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27<\/p><p><strong>\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 docker-compose \u0e02\u0e2d\u0e07 Service nginx, php-fpm, mariadb, phpmyadmin<\/strong><br>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e0a\u0e37\u0e48\u0e2d\u0e27\u0e48\u0e32 docker-compose.yml \u0e43\u0e2a\u0e48\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49 \u0e41\u0e25\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/p><pre class=\"wp-block-code\"><code>version: '3.9'\nservices:\n  web:\n    image: nginx:latest\n    container_name: web\n    restart: always\n    environment:\n      TZ: 'Asia\/Bangkok'\n    ports:\n      - '80:80'\n      - '443:443'\n    volumes:\n      - <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/web<\/mark>:\/var\/www\/html                    <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14 path \u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a<\/mark>\n\n    links:\n      - php-fpm\n  php-fpm:\n    image: bucchub\/php-fpm:5.6\n    container_name: php-fpm\n    restart: always\n    volumes:\n      - <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/web<\/mark>:\/var\/www\/html                    <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14 path \u0e02\u0e2d\u0e07\u0e40\u0e27\u0e47\u0e1a<\/mark>\n  mysql:\n    image: mysql:5.5\n    container_name: mysql\n    restart: always\n    volumes:\n      - \/mysql:\/var\/lib\/mysql\n    environment:\n      TZ: 'Asia\/Bangkok'\n      MYSQL_DATABASE: '<mark style=\"background-color:#ffb606\" class=\"has-inline-color\">example<\/mark>'               <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e10\u0e32\u0e19\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/mark>\n      MYSQL_USER: '<mark style=\"background-color:#ffb606\" class=\"has-inline-color\">example<\/mark>'                   <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<\/mark>\n      MYSQL_PASSWORD: '<mark style=\"background-color:#ffb606\" class=\"has-inline-color\">example<\/mark>'               <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<\/mark>\n      MYSQL_ROOT_PASSWORD: '<mark style=\"background-color:#ffb606\" class=\"has-inline-color\">example<\/mark>'          <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">\/\/\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07 root<\/mark>\n  phpmyadmin:\n    image: phpmyadmin\/phpmyadmin\n    container_name: phpmyadmin\n    restart: always\n    links:\n      - mysql\n    environment:\n      PMA_HOST: mysql\n      PMA_PORT: 3306\n      PMA_ARBITRARY: 1\n    restart: always\n    ports:\n      - 8081:80\nnetworks:\n  default:\n    name: web<\/code><\/pre><p>\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c docker-compose.yml \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 <mark style=\"background-color:#ffb606\" class=\"has-inline-color\">docker-compose up -d<\/mark> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e15\u0e32\u0e21 script \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e44\u0e27\u0e49<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; &nbsp; &nbsp; Docker compose \u0e04\u0e37\u0e2d script \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e2b\u0e25\u0e32\u0e22\u0e46 container \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e42\u0e14\u0e22\u0e1b\u0e01\u0e15\u0e34\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e08\u0e32\u0e01 image \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 \u0e16\u0e49\u0e32\u0e08\u0e30\u0e17\u0e14\u0e2a\u0e2d\u0e1a wordpress \u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container web server \u0e41\u0e25\u0e30 database \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 2 container \u0e40\u0e02\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e17\u0e35\u0e25\u0e30\u0e15\u0e31\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2a\u0e35\u0e22\u0e40\u0e27\u0e25\u0e32&nbsp; &nbsp; &nbsp; &nbsp; \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e17\u0e35\u0e48\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e02\u0e49\u0e32\u0e07\u0e15\u0e49\u0e19\u0e40\u0e25\u0e22\u0e40\u0e01\u0e34\u0e14 docker &hellip; <\/p>\n","protected":false},"author":50,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"pmpro_default_level":"","footnotes":""},"categories":[729],"tags":[],"class_list":["post-11790","post","type-post","status-publish","format-standard","hentry","category-explicit-knowledge","pmpro-has-access"],"jetpack_featured_media_url":"","rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Kanit Tura","author_link":"https:\/\/km.ict.buu.ac.th\/?author=50"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/km.ict.buu.ac.th\/?cat=729\" rel=\"category\">Explicit Knowledge<\/a>","rttpg_excerpt":"&nbsp; &nbsp; &nbsp; &nbsp; Docker compose \u0e04\u0e37\u0e2d script \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e2b\u0e25\u0e32\u0e22\u0e46 container \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e19 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e42\u0e14\u0e22\u0e1b\u0e01\u0e15\u0e34\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e08\u0e32\u0e01 image \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 \u0e16\u0e49\u0e32\u0e08\u0e30\u0e17\u0e14\u0e2a\u0e2d\u0e1a wordpress \u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container web server \u0e41\u0e25\u0e30 database \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 2 container \u0e40\u0e02\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e01\u0e31\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 container \u0e17\u0e35\u0e25\u0e30\u0e15\u0e31\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e2a\u0e35\u0e22\u0e40\u0e27\u0e25\u0e32&nbsp; &nbsp; &nbsp; &nbsp; \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e17\u0e35\u0e48\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e02\u0e49\u0e32\u0e07\u0e15\u0e49\u0e19\u0e40\u0e25\u0e22\u0e40\u0e01\u0e34\u0e14 docker &hellip;","_links":{"self":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/11790"}],"collection":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11790"}],"version-history":[{"count":10,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/11790\/revisions"}],"predecessor-version":[{"id":12231,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=\/wp\/v2\/posts\/11790\/revisions\/12231"}],"wp:attachment":[{"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/km.ict.buu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}