Docker方式部署Caddy+PHP+Mysql

玩Wordpress十几年了。之前尝试过各种一键或GUI环境软件,比如LAMP、WDCP、宝塔等。

最近,宝塔的一系列骚操作,让每一个安心写文章,又不想赌未知的站长不得不寻找其他便捷的环境包。

于是,我就习惯性来寻找Docker方案了。

这一次,使用的是Docker Compose,同时将Mysql与Caddy+PHP分开部署,原因是,我不想把鸡蛋放在一个篮子里。

 

一、前期准备

1、安装Docker

curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

 

2、安装Docker Compose

apt-get install docker-compose -y
curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

你也可以为Docker Compose创建一个快捷键,创建好以后,就可以直接用dc命令替代docker compose了。

chmod a+x /usr/local/bin/docker-compose
rm -rf `which dc`
ln -s /usr/local/bin/docker-compose /usr/bin/dc

 

 

二、Mysql+PHPMyAdmin的部署

1、创建文件夹

mkdir db && cd db

 

2、创建docker-compose.yml文件

nano docker-compose.yml

 

内容如下,请修改标注为请修改 部分为你希望的内容。

version: "2"

services:
  # mysql容器
  web-mysql:
    image: mysql:5.7.26
    container_name: web-mysql
    volumes:
      - /root/db/mysql/data:/var/lib/mysql
      - /root/db/mysql/example_db:/var/example_db
      - /root/db/mysql/conf.d:/etc/mysql/conf.d
    environment:
      - MYSQL_USER=root
      - MYSQL_ROOT_PASSWORD=请修改root密码
      - MYSQL_ALLOW_EMPTY_PASSWORD=no
      - MYSQL_DATABASE=test
    ports:
      - 请修改你希望的端口号:3306
    command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8 --explicit_defaults_for_timestamp
    networks:
      - net-mysql
    restart: always

  # phpmyadmin容器
  web-pma:
    image: phpmyadmin/phpmyadmin:latest
    container_name: web-pma
    ports:
      - "请修改你希望的端口号:80"
    environment:
      - MYSQL_USER=root
      - MYSQL_PASSWORD=请修改root密码
      - MYSQL_ROOT_PASSWORD=请修改root密码
      - PMA_HOST=web-mysql
      - UPLOAD_LIMIT=300M
    networks:
      - net-mysql
    restart: always

networks:
  net-mysql:
    driver: bridge

 

3、启动

docker-compose up -d

 

至此,Mysql+PHPMyAdmin就装完了,有了PHPMyAdmin,也就容易操作Mysql了。

 

三、安装Caddy+PHP

1、拉取

git clone https://github.com/codionx/lcmp-docker.git
mv lcmp-docker web
cd web

 

2、 创建docker-compose、env、caddy配置文件

cp docker-compose.yml.sample  docker-compose.yml
cp .env.sample .env
cp services/caddy/etc/caddy/Caddyfile.sample services/caddy/etc/caddy/Caddyfile

 

3、修改caddyfile

此处内容需要回复后并刷新才能查看

 

打完收工!

 

阅读剩余
THE END