Linux6.13 Docker LNMP项目搭建

这篇具有很好参考价值的文章主要介绍了Linux6.13 Docker LNMP项目搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计算机系统

5G云计算

第四章 LINUX Docker LNMP项目搭建

一、项目环境

公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作

1.环境描述
容器宿主机 操作系统 ip地址 主要软件
Docker CentOS 7.3 x86_64 192.168.58.60 Docker 19.03
2.容器ip地址规划
宿主机        ip地址:192.168.58.60
nginx容器   ip地址:172.18.0.10
mysql容器  ip地址:172.18.0.20
php容器     ip地址:172.18.0.30

Linux6.13 Docker LNMP项目搭建,docker,容器,运维

3.任务需求

1)使用Docker构建LNMP环境并运行Wordpress网站平台

2)限制Nginx容器最多使用500Mb的内存和1G的Swap

3)限制Mysql容器写 /dev/sda 的速率为 10 MB/s

4)将所有容器进行快照,然后将Docker镜像打包成tar包备份到本地

二、部署过程
###前提本地已经安装docker,配置lnmp的文件目录
cd /opt/
mkdir mylnmp
cd /opt/mylnmp/
mkdir nginx mysql php

###部署一个有所有软件依赖包的镜像,以便进行分阶段构建镜像
cd /opt/
vim Dockerfile
FROM centos:7                    ###从公有仓库pull一个centos:7的镜像
COPY qinghua-yum.sh /opt/        ###上传修改yum源的脚本
RUN chmod +x /opt/qinghua-yum.sh && /opt/qinghua-yum.sh && \
yum -y install pcre-devel zlib-devel openssl-devel \
gcc gcc-c++ make ncurses ncurses-devel bison cmake gd \
libjpeg-devel \
libpng-devel \
freetype-devel \
libxml2-devel \
zlib-devel \
curl-devel \
openssl-devel

docker build -t centos7:mylnmp

docker images

docker network create --subnet=172.18.0.0/16  --opt "com.docker.network.bridge.name"="docker1"  mylnmp

docker network ls

Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维

1.部署构建 nginx 镜像
###nginx目录下已上传nginx安装包、论坛安装包、nginx配置文件
cd /opt/mylnmp/nginx/
ls

###部署 nginx 的 Dockerfile
cd /opt/mylnmp/nginx/
vim Dockerfile
FROM centos7:mylnmp
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

COPY nginx.conf /usr/local/nginx/conf/nginx.conf

FROM centos:7
COPY --from=0 /usr/local/nginx/  /usr/local/nginx/
RUN useradd -M -s /sbin/nologin nginx
EXPOSE 80
#EXPOSE 443

CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

docker build -t nginx:lnmp

docker images

docker run -d --name nginx --network=myLnmp --ip=172.18.0.10 -p 80:80 -v /opt/mylnmp/nginx/html/:/usr/local/nginx/html/ -m 500m - -memory-swap=1.5g centos7:myLnmp

docker ps -a

Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维

2.部署构建 mysql 镜像
###mysql目录下已上传mysql安装包、mysql配置文件
cd /opt/mylnmp/mysql/
ls

###部署 mysql 的 Dockerfile
cd /opt/mylnmp/mysql/
vim Dockerfile
FROM centos7:mylnmp
ADD mysql-boost-5.7.41.tar.gz /opt/
RUN cd /opt/mysql-5.7.41/ && \
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1 && \
make -j4 && make install

FROM centos:7
COPY --from=0 /usr/local/mysql/ /usr/local/mysql/
COPY my.cnf /etc/my.cnf
ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
RUN useradd -M -s /sbin/nologin mysql && \
chown -R mysql:mysql /usr/local/mysql/ && \
chown mysql:mysql /etc/my.cnf && \
/usr/local/mysql/bin/mysqld \
--initialize-insecure \
--user=mysgl \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
EXPOSE 3306
CMD ["/usr/local/mysql/bin/mysqld"]

docker build -t mysql:lnmp

docker images

docker run -d --name mysql --privileged --network mylnmp --ip 172.18.0.20 -v /usr/local/mysql --device-write-bps /dev/sda:10mb mysql:lnmp

docker ps -a

docker exec -it 5066206ee1b6 bash

mysqladmin -u root password "123"

mysql -u root -p123
CREATE DATABASE wordpress;
GRANT all ON wordpress.* TO 'admin'@'%' IDENTIFIED BY '123';
flush privileges;
exit

exit

Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维

3.部署构建 php 镜像
###mysql目录下已上传php安装包、php配置文件
cd /opt/mylnmp/php/
ls

###部署 php 的 Dockerfile
cd /opt/mylnmp/php/
vim Dockerfile
FROM centos7:mylnmp
ADD php-7.1.10.tar.bz2 /opt
RUN cd /opt/php-7.1.10 && \
./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip && make -j 2 && make install
COPY php.ini /usr/local/php/lib/php.ini
COPY php-fpm.conf /usr/local/php/etc/php-fpm.conf
COPY www.conf /usr/local/php/etc/php-fpm.d/www.conf

FROM centos:7
COPY --from=0 /usr/local/php /usr/local/php
RUN useradd -M -s /sbin/nologin php && yum -y install gd \
libjpeg-devel \
libpng-devel \
freetype-devel \
libxml2-devel \
zlib-devel \
curl-devel \
openssl-devel
EXPOSE 9000
CMD ["/usr/local/php/sbin/php-fpm", "-F"]

docker build -t php:lnmp

docker images

docker run --name php -d -p 9000:9000 --network mylnmp --ip 172.18.0.30 --volumes-from nginx --volumes-from mysql php:lnmp

docker ps -a

docker exec -it 850d14f706b7 bash
ls /usr/local
ls /usr/local/nginx/html
ls /usr/local/mysql
exit

Linux6.13 Docker LNMP项目搭建,docker,容器,运维Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维

4.验证测试
http://192.168.58.60/index.html
http://192.168.58.60/index.php
http://192.168.58.60/wordpress/index.php

Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维
Linux6.13 Docker LNMP项目搭建,docker,容器,运维文章来源地址https://www.toymoban.com/news/detail-604986.html

到了这里,关于Linux6.13 Docker LNMP项目搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux6.12 Docker 数据管理和镜像的创建

    第四章 LINUX Docker 数据管理和镜像的创建 一、Docker 的数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers) 1.数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操

    2024年02月16日
    浏览(39)
  • Docker容器与虚拟化技术:Dockerfile部署LNMP

    目录 一、理论 1.LNMP架构 2.背景 3.Dockerfile部署LNMP 3.构建Nginx镜像 4.构建MySQL容器 5.构建PHP镜像 6.启动 wordpress 服务  二、实验  1.环境准备 2.构建Nginx镜像 3.构建MySQL容器 4.构建PHP镜像 5.启动 wordpress 服务  三、问题 1.构建nginx镜像报错 2.构建php镜像报错 2.生成PHP镜像一直为Exit

    2024年02月04日
    浏览(52)
  • docker 搭建lnmp环境

            公司在实际的生产环境中,需要使用 Docker 技术在一台主机上创建 LNMP 服务并运行 Wordpress 网站平台。然后对此服务进行相关的性能调优和管理工作。   准备所有安装包: 容器        操作系统        IP地址              主要软件 nginx      CentOS 7      172.

    2024年04月29日
    浏览(40)
  • 使用docker搭建LNMP架构

    目录 环境准备 下载安装包 服务器环境 任务分析 nginx部分 建立工作目录 编写 Dockerfile 脚本 准备 nginx.conf 配置文件 生成镜像 创建自定义网络 启动镜像容器 验证nginx MySQL部分 建立工作目录 编写 Dockerfile 准备 my.cnf 配置文件 生成镜像 启动镜像容器 验证mysql PHP部分 建立工作目

    2024年01月18日
    浏览(41)
  • Docker搭建LNMP----(超详细)

      目录 ​编辑 一、项目环境 1.1 所有安装包下载: 1.3 服务器环境 1.4任务需求 二、Ngin 2.1、建立工作目录 2.2 编写 Dockerfile 脚本 2.3准备 nginx.conf 配置文件 2.4生成镜像  2.5创建自定义网络 2.6启动镜像容器 2.7验证 nginx、 三、Mysql 3.1建立工作目录 3.2编写 Dockerfile   3.3准备 my.cn

    2024年03月15日
    浏览(50)
  • linux安装docker容器搭建网心云教程

    一、docker环境搭建 二、拉取镜像 三、运行网心云容器 四、设备绑定 打开浏览器,输入http://ip:18888(ip替换成安装设备的ip),比如http://192.168.1.10:18888 部分常用小命令 ①、停止容器 docker stop wxedge ②、删除容器 docker rm wxedge ③、删除镜像 docker rmi onething1/wxedge docker rmi registr

    2024年02月11日
    浏览(64)
  • 使用docker搭建LNMP开发环境

    系统:ubuntu 18.04 docker版本:18.03.1-ce docker的安装请自行参考官方文档。 这篇文章用于介绍如何使用docker在ubuntu系统上搭建一个LNMP开发环境,下面我们将会编写Dockerfile,基于官方docker hub镜像,分别构建我们自己的镜像,然后运行。要构建的镜像有: PHP-FPM 7.4 Nginx 1.19 MySQL 5.

    2023年04月13日
    浏览(43)
  • Docker 搭建 LNMP + Wordpress(详细步骤)

    目录 一、项目模拟 1. 项目环境 2. 服务器环境  3.任务需求 二、Linux 系统基础镜像  三、Nginx 1. 建立工作目录 2. 编写 Dockerfile 脚本  3. 准备 nginx.conf 配置文件   4. 生成镜像   5. 创建自定义网络  6. 启动镜像容器   7. 验证 nginx   四、Mysql  1. 建立工作目录 2. 编写 Dockerfi

    2024年02月12日
    浏览(51)
  • 【Docker】基于Dockerfile搭建LNMP架构

      公司在实际的生产环境中,需要使用Docker 技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工作。 主机 操作系统 IP地址 主要软件 Docker CentOS 7.3 x86_64 192.168.145.15 Docker 19.03 容器ip地址规划 (1)使用Docker构建LNMP环境并运行Wo

    2024年02月15日
    浏览(42)
  • Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

    此处列举了docker及docker-compose的常用命令,一方面可以做个了解,另一方面可以在需要的时候进行查阅。不一定要强行记忆,用多了就熟悉了。 1.1、镜像常用命令 1)列举镜像 2)删除镜像 3)使用repositories:tag进行删除 1.2、容器常用命令 1)列举所有容器 2)列举正在运行的容

    2024年03月27日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包