docker-compose单机部署lnmp

下载docker-compose

curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

cd /usr/local/bin/
ls
chmod +x docker-compose
ll docker-compose
cd
docker-compose -v 验证全局命令没问题

将nginx以及WordPress配置文件修改IP地址

nginx配置文件修改
server_name 若访问IP地址方式那么修改为宿主机IP地址或者nginx容器IP地址均可 若域名访问直接填写域名
fastcgi_pass :9000;修改phpIP地址宿主机IP地址或者php容器IP地址均可
若错误指定IP地址或者文件路径报错404 File not found或者502 Bad Gateway

WordPress /wordpress/wp-config.php修改
/** WordPress数据库的名称 / define(‘DB_NAME’, ”);
/* MySQL数据库用户名 / define(‘DB_USER’, ”);
/* MySQL数据库密码 / define(‘DB_PASSWORD’, ”);
/* MySQL主机 */ define(‘DB_HOST’, ”);
下面截图是wp-config.php中指定DB错误截图 wp-config.php配置文件中修改即可生效

编写docker-compose.yaml

#使用版本2(3版本不支持指令volumes_from)
version: '2'
networks:
  lnmp-network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/24
          gateway: 172.18.0.1#这里即使指定网关是254依然是.1 网上查资料为版本问题
services:
  #配置nginx服务
  nginx:
    #加入到lnmp网络中指定IP地址
    networks:
      lnmp-network:
        ipv4_address: 172.18.0.2
    #设置主机名为nginx
    hostname: nginx
    #指定镜像
    image: c8d03f6b8b91
    #容器名为nginx
    container_name: nginx
    #暴露端口80和443
    ports:
      - 80:80
      - 443:443
    #将目录挂载到容器内
    volumes:
      - /nginx:/etc/nginx
      - /wordpress:/wordpress
      - /var/log/nginx/access.log:/var/log/nginx/access.log
      - /var/log/nginx/error.log:/var/log/nginx/error.log
    #指定容器时区
    environment:
      - TZ=Asia/Shanghai
    #设置超级用户权限:
    privileged: true
    #设置容器重启策略nginx服务随nginx容器启动而启动
    restart: always
  #配置服务mysql
  mysql:
    networks:
      lnmp-network:
        ipv4_address: 172.18.0.3
    hostname: mysql
    image: 5107333e08a8
    container_name: mysql
    ports:
      - 3306:3306
    volumes:
      - /mysql:/var/lib/mysql
      - /my.cnf:/etc/my.cnf 
      - /var/log/mysql/mysqld.log:/var/log/mysqld.log 
      - /etc/localtime:/etc/localtime:ro
    #指定容器时区
    environment:
      - TZ=Asia/Shanghai
    #设置超级用户权限
    privileged: true
    #设置容器重启策略
    restart: always
  #配置服务php    
  php:
    networks:
      lnmp-network:
        ipv4_address: 172.18.0.4
    hostname: php
    image: 38f2b691dcb8
    container_name: php
    ports:
      - 9000:9000
    volumes:
      - /php.ini:/usr/local/etc/php/php.ini
      - /wordpress:/wordpress 
    #php容器需要在nginx和mysql之后启动  
    depends_on:
      - nginx
      - mysql
    #php和容器nginx,容器mysql连接   
    links:
      - nginx
      - mysql
    #指定容器时区
    environment:
      - TZ=Asia/Shanghai
    #设置超级用户权限
    privileged: true
    #设置容器重启策略
    restart: always
#在工作目录使用此命令。
#-f: --file-name, 指定模板文件。默认为docker-compose.yml
#-p: --project-name NAME ,指定项目名称,默认使用目录名
#-d: 在后台运行

运行docker-compose.yaml

docker-compose -f /docker-compose/lnmpdockercompose.yaml up -d

访问nginx错误原因是
需要安装PHP的mysql扩展进入到php容器下执行
docker-php-ext-install mysqli 安装扩展
php -m 查看是否成功
重启php容器生效