docker

centos7 使用docker安装lnmp测试学习环境
1.理解docker是什么
2.了解docker应用场景
3.理解docker的几个重要概念
4.掌握centos下使用docker快速搭建本地轻量级lnmp环境
5.总结使用shell脚本快速搭建
一:docker是什么?
是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
二:docker应用场景
1.web应用的自动化打包和发布;
2.自动化测试和持续集成、发布;
3.在服务型环境中部署和调整数据库或其他的后台应用;
4.从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
三:docker的几个重要概念
3.1 镜像
Docker的镜像类似于虚拟机的快照,但是更加的轻量级。如果想要创建镜像的话,一般的套路是根据一个已有的镜像对其进行修改并创建子镜像。
3.2 容器
容器依附于镜像,也就是说可以从镜像中创建容器,相当于从快照中创建了一个虚拟机,不过更轻量级,应用都是在容器上跑的。
3.3 链接–容器间的通信
当启动一个容器后,这个容器将会被分配一个私有的IP地址,其他容器可以通过这个私有的IP地址来和这个容器进行通信。这样不仅提供了容器之间通信的通道,而且和其他容器共享一个本地网络。想要开启容器间通信,可以在创建一个新容器时引用其他现有的容器,在刚创建的容器里被引用的容器将获得一个别名,这就是容器之间的链接。
四.掌握centos下使用docker快速 搭建本地轻量级lnmp环境
1.安装docker
卸载旧版本docker

yum remove docker docker-common docker-selinux docker-engine

安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

查看所有仓库中所有docker版本

yum list docker-ce --showduplicates | sort -r

 安装docker

yum -y install docker-ce

启动及设置开机启动

systemctl start docker

#  systemctl enable docker

docker安装成功

docker ps -a

docker version

2.拉取镜像php mysql nginx redis

docker pull php:7.2-fpm

docker pull mysql:8.0

docker pull nginx:1.12.2

docker pull redis:4.0

3.启动运行容器
3.1 运行mysql容器
1.创建mysql镜像,并运行

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 \

–name mysql mysql:8.0
2.进入mysql终端

docker exec -it mysql bash

3.mysql远程访问 --mysql 8.0 默认使用 caching_sha2_password 身份验证机制

mysql>select host,user,plugin from user;
mysql>ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

4.远程测试连接mysql —ok

3.2运行redis容器

docker run -d -p 6379:6379 -v /opt/nginx/redis/redis.conf:/usr/local/etc/redis/redis.conf -v /opt/nginx/redis/data:/data --name redis redis:4.0

3.3运行php容器并与mysql,redis容器建立通信

3.4运行nginx容器与php容器建立通信

参考文档:
https://blog.csdn.net/qq_36373262/article/details/79727223
http://www.runoob.com/docker/docker-tutorial.html
http://www.docker.org.cn/book/docker/what-is-docker-16.html
https://blog.csdn.net/alw_123/article/details/77586977
https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html
http://dockone.io/article/6051
桥接模式网卡配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

查看ip信息

ip addr

更新域名包
#yum -y update
@安装docker
如果需要–卸载旧版本

yum remove docker docker-common docker-selinux docker-engine

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依 赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

查看所有仓库中所有docker版本

 安装docker

yum -y install docker-ce

启动及设置开机启动

sudo systemctl start docker

# sudo systemctl enable docker

docker安装成功
docker ps -a
docker version

docker重启

systemctl restart docker

%%docker配置lnmp系统
一.mysql
1.拉取镜像文件
#docker pull mysql:8.0
2.创建mysql镜像,并运行
#docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456
–name mysql mysql:8.0
3.进入mysql终端
#docker exec -it mysql bash
4.mysql远程访问 --mysql 8.0 默认使用 caching_sha2_password 身份验证机制

mysql>select host,user,plugin from user;
mysql>ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
5.远程测试连接mysql —ok

redis;

二.php

docker run -d -v /opt/nginx/wwwl:/var/www/html -v /opt/nginx/php/:/usr/local/etc/php -p 9000:9000 --link mysql:mysql --link redis:redis --name php php:7.2-fpm
1.拉取镜像文件
#docker pull php:7.2-fpm
2.创建php容器
php.ini 默认不存在,创建前,先需要自己新建一个映射文件夹存放

mkdir -p /opt/nginx/www/phpfile

#touch php.ini
#docker run -d -v /opt/nginx/wwwl:/var/www/html
-v /opt/nginx/www/php/:/usr/local/etc/php \

-p 9000:9000 --link mysql:mysql
–link redis:redis
–name php php:7.2-fpm
3.进入php容器
#docker exec -it php bash
: touch index.php
安装pdo_mysql
: docker-php-ext-install pdo_mysql
此时修改/phpfile/php.ini 配置mysql_pdo

三 nginx
1.拉取镜像文件

docker pull nginx:1.12.2

2.创建并运行nginx 容器
#docker run -d -p 80:80 -p 81:81
-v /opt/nginx/www/:/var/www/html
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf
-v /opt/nginx/conf.d:/etc/nginx/conf.d
–link php:phpfpm --name nginx nginx:1.12.2

快速安装 .sh 文件
#!/bin/bash
docker run -d -p 80:80 -p 81:81
-v /opt/nginx/www:/var/www/html
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf
-v /opt/nginx/conf.d:/etc/nginx/conf.d
–link php:phpfpm
–name nginx daocloud.io/library/nginx:1.13.0-alpine

redis
docker run -d -p 6379:6379 -v /opt/nginx/redis/redis.conf:/usr/local/etc/redis/redis.conf -v /opt/nginx/redis/data:/data --name redis redis:4.0

curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/4.1.0.tar.gz

tar xfz /tmp/redis.tar.gz

rm -r /tmp/redis.tar.gz

mkdir -p /usr/src/php/ext

mv phpredis-4.0.13 /usr/src/php/ext/redis

docker-php-ext-install redis

防火墙设置
yum install -y lrzsz
#停止firewall服务 systemctl stop firewalld.service
#禁止firewall开机启动 systemctl disable firewalld.service
docker run -dit
-v /opt/php/php.ini:/usr/local/etc/php/php.ini
-v /opt/php/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf
-v /opt/php/logs:/var/log
-v /opt/www:/var/www/html
–link mysql:mysql
–link redis:redis
–name php php

docker run -dit -p 6380:6379
-v /opt/redis/redis.conf:/usr/local/etc/redis/redis.conf
-v /opt/redis/data:/data
–name redis redis

docker run -dit -p 80:80 -p 81:81
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf
-v /opt/nginx/logs:/var/log/nginx
-v /opt/nginx/conf.d:/etc/nginx/conf.d
-v /opt/www:/var/www/html
–link php:php
–name nginx nginx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值