Dockerfile部署lnmp

该博客详细介绍了如何在已安装Docker的虚拟机上通过Dockerfile部署LNMP(Nginx、MySQL、PHP)环境。首先停用和禁用防火墙,创建自定义网络,并为每个组件(Nginx、MySQL、PHP)编写Dockerfile来构建镜像。然后,启动容器并配置相应的网络和端口映射。最后,创建数据库并授权用户,通过浏览器验证部署是否成功。
摘要由CSDN通过智能技术生成

Dockerfile部署lnmp

实验步骤

(需一台安装好docker的虚拟机)

systemctl stop firewalld 
systemctl disable firewalld
setenforce 0

#指定网段

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

1.部署nginx

mkdir /opt/nginx
cd /opt/nginx/

#上传 nginx-1.12.0.tar.gz、wordpress-4.9.4-zh_CN.tar.gz 到 /opt/nginx/ 目录中

mkdir /opt/nginx/html
tar zxvf wordpress-4.9.4-zh_CN.tar.gz -C /opt/nginx/html

#编写Dockerfile
在这里插入图片描述

#建立镜像

docker build -t nginx:lnmp .

#启动容器

docker run -d --name nginx -p 80:80 -v /opt/nginx/html:/usr/local/nginx/html --net mynetwork --ip 172.18.0.10 nginx:lnmp

docker ps -a  #查看容器

在这里插入图片描述

2. 部署mysql

mkdir /opt/mysql
cd /opt/mysql

#上传 mysql-boost-5.7.20.tar.gz 到 /opt/mysqld 目录中

#编写Dockerfile文件

在这里插入图片描述

在这里插入图片描述

#配置my.cnf文件
在这里插入图片描述

#编写启动脚本

#!/bin/bash
/usr/local/mysql/bin/mysqld	
systemctl enable mysqld

在这里插入图片描述

#构建镜像

docker build -t mysql:lnmp .

#启动容器

docker run --name=mysql -d --privileged -v /usr/local/mysql --net mynetwork --ip 172.18.0.20 mysql:lnmp /usr/sbin/init

docker ps -a

在这里插入图片描述

3.部署php

mkdir /opt/php
cd /opt/php

#上传 php-7.1.10.tar.bz2 、php-fpm.conf、php.ini、www.conf到 /opt/php 目录中

#编写Dockerfile

在这里插入图片描述

在这里插入图片描述

#构建镜像以及启动容器

docker build -t php:lnmp .
docker run --name=php -d -p 9000:9000 --volumes-from mysql --volumes-from nginx --net mynetwork --ip 172.18.0.30 php:lnmp

docker ps -a

在这里插入图片描述

4.进入mysql

docker exec -it mysql /bin/bash
mysql

#创建表并指定用户登录mysql

create database wordpress;
grant all privileges on wordpress.* to 'wordpress'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
flush privileges;

#浏览器访问验证
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值