/ Docker,专题,科技 / 1504 浏览

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

[reply]

nano /root/web/services/caddy/etc/caddy/Caddyfile

 

示例PHP:

hellobitch.com {
        root * /srv/hellobitch.com
        encode gzip
        file_server
        php_fastcgi php:9000
}

 

示例HTML:

hellobitch.com {
        root * /srv/hellobitch.com
        encode gzip
        file_server
}

 

示例反代:

hellobitch.com {
        reverse_proxy http://you.are.bitch
}

 

4、上传文件到WWW目录

 

5、在WEB目录下调整权限

chown -R 1000:1000 www

 

6、在WEB目录下启动

docker-compose up -d

 

至此,Caddy+PHP环境就搭建好了。

[/reply]

 

[c-alert type="success"]打完收工![/c-alert]

 

Docker方式部署V2Board
Docker方式部署V2Board
Hetzner Storage Box:可能是性价比最高的存储
Hetzner Storage Box:可能是性价比最高的存储
使用Dnsmasq+SNIproxy一键脚本解决送中机
使用Dnsmasq+SNIproxy一键脚本解决送中机
NetCUP:自建EMBY最具性价比服务器购买指南
NetCUP:自建EMBY最具性价比服务器购买指南
一个让小鸡自动回春的WARP脚本
一个让小鸡自动回春的WARP脚本
快把你的Google Workspace搬到土耳其吧!
快把你的Google Workspace搬到土耳其吧!

29 条评论

  1. mulberry的头像

    向大佬学习一下

  2. outwit4070的头像

    学习一下

  3. egege的头像

    学习一下

  4. κīSs︶ㄣ爺的头像

    xuexixuexi[f=baoquan]

  5. whistle436的头像

    学习一下增长知识

  6. Thanks的头像

    xuexixuexi

  7. whistle436的头像

    这个教程看着很不错,最近正好在学习caddy

  8. whistle436的头像

    学习一下增长知识

  9. whistle436的头像

    学习一下

  10. trsr的头像

    学习一下

  11. 卷毛的头像

    学习学习

  12. ttus的头像

    抱歉,55555555555

  13. ttus的头像

    抱歉,评论被拦截了。

  14. zimoxi的头像

    为什么看不到?

    1. codion的头像

      抱歉,评论被拦截了。

  15. zimoxi的头像

    学习一下

  16. sheauhuu的头像

    学习一下

  17. sheauhuu的头像

    学习学习

  18. ohrz的头像

    看看学习学习

  19. κīSs︶ㄣ爺的头像

    学习学习

  20. 南先生的头像

    看看一看!

  21. 菲菲一个飞的头像

    看学学一下

  22. qqq11的头像

    [f=yinxian]

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注