使用docker搭建板砖环境 (Lnmp)

Table of Contents

安装

sudo pacman -S docker

加入用户组

sudo usermod -aG docker $USER

加速源

编辑 /etc/docker/daemon.json 加入

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

拉取镜像

docker pull nginx
docker pull mysql:5.6
docker pull php:7.4-fpm
docker pull composer
docker pull phpmyadmin/phpmyadmin

创建项目

mkdir -p ~/webstack/php-develop/nginx/www/
mkdir -p ~/webstack/php-develop/nginx/conf/conf.d/
cd ~/webstack/php-develop/nginx/www/

安装tp框架

docker run --rm --interactive --tty \
--volume $PWD:/app \
composer create-project topthink/think tp6

启动容器

docker run --name php-fpm -v ~/webstack/php-develop/nginx/www:/www -d php:7.4-fpm
docker run --name nginx -p 8082:80 -d \
-v ~/webstack/php-develop/nginx/www:/usr/share/nginx/html:ro \
-v ~/webstack/php-develop/nginx/log:/var/log/nginx \
-v ~/webstack/php-develop/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
--link php-fpm:php \
nginx
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=youpasswd -d mysql:5.6

phpMyAdmin

docker run --name phpmyadmin -p 8083:80 --link mysql:db -d phpmyadmin/phpmyadmin:latest

容器停止后的启动顺序

docker stop phpmyadmin mysql nginx php-fpm
php-fpm -> nginx -> mysql -> phpmyadmin

TL;DR

极度讨厌Python,所以不会使用docker compose,即使迫不得已也不会让它运行在宿主机