使用docker-compose方式、wordpress镜像建站(ubuntu16.04)

1.安装docker

#可运行docker版本19.03.01
#使用ranche脚本安装特定版本的docker
https://releases.rancher.com/install-docker/19.01.sh
#使用docker脚本安装最新版本的docker
curl -sSL https://get.docker.com/ | sh
#其他安装方式
https://docs.docker.com/install/linux/docker-ce/ubuntu/
#docker-release信息
https://github.com/docker/docker-ce/releases

2.安装docker-compose

#可运行docker-compose版本1.17.0
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#其他安装方式
https://github.com/docker/compose/releases
#卸载方式直接删除可执行文件
sudo rm -rf /usr/local/bin/docker-compose

3.编辑docker-compose文件

version: '3.1'

networks:
  wordpress:

services:
  wordpress:
    image: wordpress:5.2.2-php7.3-apache
    restart: always
    ports:
#      - 8088:80
      - 8443:443
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: {{.db_user}}
      WORDPRESS_DB_PASSWORD: {{.db_password}}
      WORDPRESS_DB_NAME: {{.db_database}}
      HTTP_X_FORWARDED_PROTO: https
    volumes:
#1,2,3均为了设置自动开启ssl
      - ./volumes/wordpress/sp-config/mods-enabled/ssl.load:/etc/apache2/mods-enabled/ssl.load
      - ./volumes/wordpress/sp-config/mods-enabled/ssl.conf:/etc/apache2/mods-enabled/ssl.conf
      - ./volumes/wordpress/sp-config/mods-enabled/socache_shmcb.load:/etc/apache2/mods-enabled/socache_shmcb.load
#mount证书
      - ./volumes/nginx/certs:/certs
#mount443监听配置,配置证书
      - ./volumes/wordpress/sp-config/sites-available/:/etc/apache2/sites-enabled/
#持久化网站信息,由于暂不清楚那些文件必须持久化,所以暂时全部mount
      - ./volumes/wordpress/mysite-html:/var/www/html/
    networks:
      - wordpress
    depends_on:
      - db

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: {{.db_database}}
      MYSQL_USER: {{.db_user}}
      MYSQL_PASSWORD: {{.db_password}}
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./volumes/mysql/mysql-storage:/var/lib/mysql
    ports:
      - 3306:3306
    networks:
      - wordpress
#由于多个服务在同一台机器的情况统一使用443端口,所以配置nginx(未使用443因为尚未备案)
  ng:
    image: nginx:1.9.5
    restart: always
    volumes:
      - ./volumes/nginx/certs:/certs
      - ./volumes/nginx/nginx.conf:/etc/nginx/nginx.conf
    networks:
      - wordpress
    ports:
      - 8089:80
      - 443:443
    depends_on:
      - wordpress

4.启动

docker-compose up -d

5.解释

#以上配置为在wordpress容器中开启了apache tls,并且在nginx开启了tls
#以上配置为最终版本,实际配置成功的流程为先不开启tls启动,install并生成数据库中数据后,再修改为tls,并修改数据库中数据
#首次安装路径http://ip:port/wp-admin/install.php
#登录路径http://ip:port/wp-login.php
#上传图片存储路径/var/www/html/wp-content/uploads(需持久化)
#ubuntu16.04下apache配置存放路径:/etc/apache2/
#其中区分了xxx-available和xxx-enable
# xxx-available为可用配置,开启的配置使用ln xxx xxx将available中文件软连接到enable中
# 上述配置直接将镜像available路径中相关文件拷贝、修改后mount到enable路径中
#出现报错'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?)是由于没有加载shmcb,mount相关文件即可
#wordpress中跟路径有home页面重定向,转发到数据库记录的home页面中
##要注意开放端口或者修改配置,查看是否会造成重定向循环

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值