服装网站建设热线惠州seo按天计费
一、项目环境
公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作。
1. 环境配置
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Docker | CentOS 7.3 x86_64 | 192.168.145.15 | Docker 19.03 |
容器ip地址规划
nginx容器 ip地址:172.18.0.10
mysql容器 ip地址:172.18.0.20
php容器 ip地址:172.18.0.30
2. 任务需求
(1)使用Docker构建LNMP环境并运行Wordpress网站平台。
(2)限制Nginx容器最多使用500Mb的内存和1G的Swap。
(3)限制Mysql容器写 /dev/sda 的速率为 10 MB/s。
(4)将所有容器进行快照,然后将Docker镜像打包成tar包备份到本地。
二、 部署过程
1. 环境配置
#前提本地已经安装docker,配置lnmp的文件目录cd /opt/
mkdir lnmp
cd lnmp/
mkdir nginx mysql php
#构建yum安装的依赖包容器
cd /opt/lnmp/
mkdir centos
cd centos/
vim DockerfileFROM centos:7
#nginx安装包
RUN yum install -y pcre-devel \
zlib-devel \
openssl-devel \
gcc \
gcc-c++ \
make \
#mysql安装包
ncurses \
ncurses-devel \
bison \
cmake \
#php安装包
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
#安装镜像
docker build -t centos7:pack .
docker images
2. 部署构建 nginx 容器
#nginx目录下已上传nginx安装包以及论坛安装包
cd nginx/
ls
#修改nginx配置文件
vim nginx.conf
...server {...location / {root html;index index.php index.html index.htm;}...location ~ \.php$ {root html;fastcgi_pass 172.18.0.30:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;include fastcgi_params;}
#构建自定义网络
docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mylnmp
1d31b24a91f3c5c38def3d3b853d470ebfa03605e6a14c57d6b6f0ea9939d98bdocker network ls
NETWORK ID NAME DRIVER SCOPE
7fcb679c6080 bridge bridge local
e06421ce591e host host local
b084bede80c1 mylnmp bridge local
ad41911b801f none null local
#创建nginx镜像
cd /opt/lnmp/nginx
vim Dockerfile
FROM centos7:pack
MAINTAINER this is nginx image <datang 2023-07-24>
ADD nginx-1.24.0.tar.gz /usr/local/
RUN useradd -M -s /sbin/nologin nginx && \
cd /usr/local/nginx-1.24.0 && \
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install && \
yum clean all
COPY nginx.conf /usr/local/nginx/conf/nginx.confFROM centos:7
#设置多个阶段的构建,将第一阶段构建生成的软件包目录复制到第二阶段的软件包目录里
COPY --from=0 /usr/local/nginx/ /usr/local/nginx/
RUN useradd -M -s /sbin/nologin nginx
EXPOSE 80CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
#构建nginx容器
docker build -t nginx:pack .
docker images
#创建并启动容器
docker run -d