一、环境准备
1. 项目环境
公司在实际的生产环境中,需要使用 Docker 技术在一台主机上创建 LNMP 服务并运行 Wordpress 网站平台。然后对此服务进行相关的性能调优和管理工作。
为什么要把服务部署在不同容器中?
因为容器有生命周期,把所有服务部署在一个容器上只要有一个服务挂了容器也就会关闭。所以会把服务部署在不同容器中。
准备所有安装包:
mysql-boost-5.7.20.tar.gz
nginx-1.18.0.tar.gz
php-7.1.10.tar.bz2
wordpress-4.9.4-zh_CN.tar.gz
2. 服务器环境
容器 操作系统 IP地址 主要软件
nginx CentOS 7 172.18.0.10 Docker-Nginx
mysql CentOS 7 172.18.0.20 Docker-Mysql
php CentOS 7 172.18.0.30 Docker-php
3.任务需求
使用 Docker 构建 LNMP 环境并运行 Wordpress 网站平台
限制 Nginx 容器最多使用 500MB 的内存和 1G 的 Swap
限制 Mysql 容器写 /dev/sda 的速率为 10 MB/s
将所有容器进行快照,然后将 Docker 镜像打包成 tar 包备份到本地
二、Linux 系统基础镜像
docker pull centos:7
下载基础镜像
三、Nginx
1. 建立工作目录
mkdir /opt/nginx
cd /opt/nginx
2. 编写 Dockerfile 脚本
vim Dockerfile
FROM centos:7
MAINTAINER this is nginx image <lnmp>
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make;useradd -M -s /sbin/nologin nginx
ADD nginx-1.18.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.18.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module;make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx.conf /usr/local/nginx/conf/
ADD wordpress-4.9.4-zh_CN.tar.gz /usr/local/nginx/html
RUN chmod 777 -R /usr/local/nginx/html/
EXPOSE 80
EXPOSE 443
VOLUME [ "/usr/local/nginx/html/" ]
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]
<