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;

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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐