当前位置:   article > 正文

【实验】使用docker-compose编排lnmp(dockerfile) 完成Wordpress 部署

docker-compose编排lnmp
环境准备

docker:192.168.67.30

虚拟机:4核4G

关闭防火墙
  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. setenforce 0

安装docker

直接点击【复制】粘贴到xshell中即可,

执行过程中若出现睡眠(sleep)通过 kill -9 pid号 ,杀掉重新执行即可

  1. #安装依赖包
  2. yum -y install yum-utils device-mapper-persistent-data lvm2
  3. #设置阿里云镜像
  4. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. #安装最新版本的docker
  6. yum -y install docker-ce docker-ce-cli containerd.io
  7. #设置开机自启
  8. systemctl enable docker.service
  9. #镜像加速下载
  10. mkdir -p /etc/docker
  11. tee /etc/docker/daemon.json <<-'EOF'
  12. {
  13. "registry-mirrors": ["https://fil0uwf5.mirror.aliyuncs.com"]
  14. }
  15. EOF
  16. #重新加载配置,重启docker
  17. systemctl daemon-reload
  18. systemctl restart docker
  19. #下载镜像
  20. docker pull centos:7
  21. docker images

部署nginx、mysql、php 镜像

请参考:http://t.csdnimg.cn/jmeMb 博客

docker-compose部署

  1. #下载
  2. curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  1. #安装
  2. chmod +x /usr/local/bin/docker-compose
  3. #查看版本
  4. docker-compose --version

①直接拉取了docker-compose文件

②链接下载(太慢了,不建议用)

创建docker-compose.yml文件
  1. cd /opt/lnmp/
  2. vim /opt/lnmp/docker-compose.yml
  3. i
  1. version: '3'
  2. services:
  3. nginx:
  4. container_name: fwl-nginx
  5. hostname: nginx
  6. build:
  7. context: /opt/lnmp/nginx
  8. dockerfile: Dockerfile
  9. ports:
  10. - 80:80
  11. - 443:443
  12. networks:
  13. lnmp:
  14. ipv4_address: 172.18.0.10
  15. volumes:
  16. - /opt/lnmp/nginx/html:/usr/local/nginx/html
  17. mysql:
  18. container_name: fwl-mysql
  19. hostname: mysql
  20. build:
  21. context: /opt/lnmp/mysql
  22. dockerfile: Dockerfile
  23. ports:
  24. - 3306:3306
  25. networks:
  26. lnmp:
  27. ipv4_address: 172.18.0.20
  28. volumes:
  29. - db-data:/usr/local/mysql
  30. privileged: true
  31. php:
  32. container_name: fwl-php
  33. hostname: php
  34. build:
  35. context: /opt/lnmp/php
  36. dockerfile: Dockerfile
  37. ports:
  38. - 9000:9000
  39. networks:
  40. lnmp:
  41. ipv4_address: 172.18.0.30
  42. volumes:
  43. - db-data:/usr/local/mysql
  44. - /opt/lnmp/nginx/html:/usr/local/nginx/html
  45. depends_on:
  46. - nginx
  47. - mysql
  48. networks:
  49. lnmp:
  50. driver: bridge
  51. ipam:
  52. config:
  53. - subnet: 172.18.0.0/16
  54. volumes:
  55. db-data:
拉取centos:7镜像

前面安装docker时如果创建过了,就不用再做了

执行前查看一下

执行docker-compose 创建镜像

docker-compose -f docker-compose.yml up -d

登录mysql

  1. xxxxxxxxxx docker exec -it mysql /bin/bash
  2. mysql -uroot -p

  1. #建库
  2. create database wordpress;
  3. #查看
  4. show databases;
  5. #赋权
  6. grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
  7. grant all privileges on *.* to 'root'@'%' identified by 'abc123';
  8. #刷新
  9. flush privileges;

浏览器访问
http://192.168.67.30/wordpress/index.php

点击【现在就开始!】

输入刚才创建的【数据库名】、赋权并创建的【用户名】和【密码】,点击【提交】

创建wp-config.php 文件
  1. cd /opt/lnmp/nginx/html/wordpress/
  2. ls
  3. #备份后再修改
  4. cp wp-config-sample.php wp-config.php
  5. vim wp-config.php
  6. i

修改23行的数据库名称

修改26行的用户名

修改29行的数据库密码

输入【用户名】、【密码】,勾选【确认使用弱密码】

输入你的【邮箱地址】

点击【安装WordPress】

点击【登录】

输入【用户名】和【密码】,勾选【记住我的登录信息】

点击【登录】

登录成功页

报错总结

无法拉取镜像

报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

原因:IPv4转发可能被系统内核参数禁用;也可能是由于网络配置文件中的错误设置导致的

解决方法


#先检查是否能上网
ping baidu.com
#不能上网去改ifcfg-ens33,DNS1=114.114.114.114


#永久启用IPv4转发
vim /etc/systcl.conf
#找到并取消注释以下行(如果不存在则添加):
net.ipv4.ip_forward = 1
#保存文件后,运行以下命令使更改生效
sudo sysctl -p

地址池冲突

报错:ERROR: Pool overlaps with other one on this address space

原因:地址池冲突

解决:删除冲突的网路,或者修改要新建的网络地址池

mysql编译安装过程中报错

报错:make: *** [all] Error 2

原因:大概率时因为网络不稳定

解决:重新执行一边命令

docker-compose -f docker-compose.yml up -d

扩展命令

删除所有已停止的容器
docker rm $(docker ps -aq)
批量停止容器
docker ps -a | awk 'NR>=2 {print "docker stop "$1}'|bash
vim 中的set: 命令
:set paste  命令用来启用或禁用粘贴模式,自动缩进、自动补全等功能
:set autoindent 命令来启用自动缩进功能
打包目录
tar -cf docker-compose-lnmp.tar.gz lnmp
上传到宿主机
sz docker-compose-lnmp.tar.gz
nginx 的启动和停止
  1. 启动:nginx
  2. 停止:nginx -s stop
  3. 重载配置文件:nginx -s reload

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/829124
推荐阅读
相关标签
  

闽ICP备14008679号