Debian12 安装Docker 用 Docker Compose 部署WordPress

7 篇文章 1 订阅
4 篇文章 0 订阅
  1. 服务器准备:
    在这里插入图片描述

  2. 以root账号登录,如果不是root,后面指令需要加sudo

apt update
apt install apt-transport-https ca-certificates curl gnupg lsb-release
  1. 添加GPG密钥,推荐国内源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg |  gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 官方源
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 添加仓库
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \
  $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null


# 官方源
#  echo \
#   "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
#   $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装Docker
apt-get update

apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. 检查Docker安装
docker version 

systemctl status docker

在这里插入图片描述
在这里插入图片描述
7. Docker国内镜像配置

nano /etc/docker/daemon.json

输入以下内容,Ctrl+X Y 保存

{
   "registry-mirrors": [
   "https://mirror.ccs.tencentyun.com"
  ]
}

(因为我是腾讯云服务器,所以用的腾讯镜像,也可以选下面这些)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

在这里插入图片描述
重启docker

systemctl restart docker
  1. 新建一个文件夹wordpress 并cd进去
mkdir wordpress && cd wordpress 
  1. 新建一个 docker-compose.yaml 并编辑
nano docker-compose.yaml

复制进入以下内容:

services:
  wordpress:
    depends_on:
      db:
        condition: service_healthy
    image: wordpress:php8.3
    ports:
      - "24729:80" # 外部端口 24729可以改成别的
    volumes:
      - ./wordpress:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    # 设置环境变量, environment 的值可以覆盖 env_file 的值
    environment:
      MYSQL_ROOT_PASSWORD: mywordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    healthcheck:
      test: mysql --user=root --password='mywordpress' -e "SELECT 1;"
      interval: 10s
      timeout: 5s
      retries: 10
  1. 启动
docker compose up -d

在这里插入图片描述

  1. 打开浏览器,输入 http://IP:24729 (端口号和docker compose里写的一样)
    在这里插入图片描述
    按需要填写站点信息:
    在这里插入图片描述
    在这里插入图片描述
    进入后台,就可以配置主题、编写文章了

  2. (可选操作)设置Nginx代理,把某个域名转发到docker

cd /etc/nginx

新建一个配置文件.conf

server {
        listen 80;
        listen [::]:80;

        server_name XXX.XXXX.com;
        rewrite ^(.*)$  https://$host$1 permanent;
}

server {
	    listen 443 ssl;
	    listen [::]:443 ssl;


        server_name XXX.XXXX.com;
	    ssl_certificate      /etc/nginx/cert/XXX.XXXX.com_nginx/XXX.XXXX.com_bundle.crt;
        ssl_certificate_key  /etc/nginx/cert/XXX.XXXX.com_nginx/XXX.XXXX.com.key; 
	    ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
	    ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

	location / {
        proxy_pass http://localhost:24729;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

如果不用HTTPS 可以用这个配置

server{
       listen 80;
        listen [::]:80;
       server_name XXX.XXXX.com;

       location / {
          proxy_pass http://localhost:24729;
          proxy_redirect default;
       }
    }
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值