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;
#浏览器访问验证