docker 灵活的构建 php 环境
>> docker pull php:7.2-fpm //冒号后选择版本
>> docker pull nginx
>> docker pull mysql:5.7 //不需要本地数据库可忽略
>> docker pull redis:3.2 //不需要本地redis可忽略
>> docker images //查看已下载的所有镜像
>> docker run --name mydb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
>> docker run --name myredis -p 6379:6379 -d redid:3.2
>> docker run -d -p 9000:900 --name myphp -v /server/www:/var/www/html -v /server/php:/usr/local/etc/php --link mydb:mydb —link myredis:myredis --privileged=true php:7.2-fpm
>> docker run --name mynginx -d -p 80:80 -v /server/www:/usr/share/nginx/html -v /server/nginx:/etc/nginx -v /server/logs/nginx.logs:/var/log/nginx —link myphp:myphp —privileged=true nginx
>> docker ps -a //查看所有容器运行成功 这里环境也就基本搭建完成了
>> docker exec -ti myphp /bin/bash //首先进入容器
>> docker-php-ext-install pdo pdo_mysql //安装pdo_mysql扩展
>> docker-php-ext-install redis //安装redis扩展
>> tar zxvf /server/php_lib/redis-4.1.0.tag //解压已经下载好的redis扩展包 >> docker cp /server/php_lib/redis-4.1.0 mytho:/usr/src/php/ext/redis //将扩展放到容器中 再执行安装
>> pecl install redis && docker-php-ext-enable redis //pecl安装redis
>> docker restart myphp //装完扩展 exit退出容器 重启容器 * 其它常用命令
>> docker stop $(docker ps -q) //停止所有容器 >> docker rm $(docker ps -aq) //删除所有容器 >> docker rmi $(docker images -q) //删除所有镜像 >> docker inspect myphp 查看容器配置信息
docker run --name mynginx -d -p 80:80 -v /server/nginx:/etc/nginx --link myphp:myphp --privileged=true nginx
>> curl -L https:github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`name -m` > /usr/local/bin/docker-compose
>> chmod +x /usr/local/bin/docker-compose
>> docker-compose —version //查看版本信息
>> cd /server/compose
>> docker-compose up -d
>> cd /server/compose.dockerfiles
>> docker-compose up -d
1. 查询自动化部署的容器组环境所在网段
>> docker network ls //查询所有网段命令
>> docker inspect mynginx //查询nginx所在网段 找到HostConfig.NetworkMode下所对应值 例如:composedockerfiles_default 2. 先删除 nginx 容器
>> docker stop mynginx && docker rm mynginx 3. 重启一个新的 nginx 容器 并且桥接相同网段
>> docker run —name mynginx -d -p 80:80 -p 443:443 -v /server/www:/usr/share/nginx/html -v /server/nginx:/etc/nginx -v /server/logs/nginx.logs:var/log/nginx --link myphp:myphp —new=composedockerfiles_default —privileged=true nginx //在原来的基础上-p加上新端口443 并且使用网段桥接 --net=composedockerfiles_default
>> docker exec -i myphp /bin/bash -c ‘/usr/local/bin/php /var/www/html/blog/public/index.php'
docker 灵活的构建 php 环境的更多相关文章
- docker Dcokerfile学习---构建nginx环境
1.创建项目目录并上传包 $ mkdir docker_nginx $ cd docker_nginx 下载nginx包 $ wget http://nginx.org/download/nginx- ...
- docker Dockerfile学习---构建redis环境
1.创建项目目录并下载包及文件 mkdir centos_redis cd centos_redis wget http://download.redis.io/releases/redis-5.0. ...
- docker Dockerfile学习---构建apache环境
1.创建目录,上传包 创建项目目录 $ mkdir apache_php $ cd apache_php 把包下载后放到服务器该目录下 $ ls apr-....tar.gz 2.创建Dockerfi ...
- docker Dockerfile学习---构建mongodb环境
1.创建项目目录并上传包 mkdir centos_mongodb cd centos_mongodb .tgz 2.编辑配置文件 vi mongodb.conf dbpath = /data/usr ...
- [转]利用Docker构建开发环境
利用Docker构建开发环境 Posted by makewonder on 2014 年 4 月 2 日 最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境, ...
- docker构建测试环境
构建测试环境首先要根据自己的需求,构建出适合自己项目的image,有了自己的image,就可以快速的搭建出来一套测试环境了. 下边就说一下构建image的两种方式. 1.DOCKFILE创建文件夹:m ...
- Docker 结合Jenkins 构建持续集成环境
Docker 结合Jenkins 构建持续集成环境 Jenkins : 一个开源的持续集成工具, 提供软件版本发布.自动测试等一系列流程及丰富的插件 Maven: 一个自动化构建工具, 通过一段描述 ...
- 如何使用Docker构建开发环境
我们在开发中都会遇到这样的问题:在本地开发好功能后,部署到服务器,或者其他人拉到本地接着开发时,会出现功能无法使用的情况. 这些异常情况,大多数时候是因为系统不同而导致的依赖差异.因此,为了解决这个问 ...
- Docker 构建Hadoop环境
参考如下文章: Docker安装Hadoop Docker在本地搭建Hadoop分布式集群 Docker快速搭建Hadoop测试环境 从0开始用docker搭建 hadoop分布式环境 Docker- ...
随机推荐
- Spring工作原理:初识SpringMVC
1.SpringMVC简介 SpringMVC是Spring框架的一个模块.SpringMVC和Spring无需通过中间层进行整合.是一个轻量级的,基于请求响应的MVC框架. 2.1.什么是MVC? ...
- ACM - 图论 - P3385 负环
P3385 负环 题目描述 给定一个 \(n\) 个点的有向图,请求出图中是否存在从顶点 \(1\) 出发能到达的负环. 负环的定义是:一条边权之和为负数的回路. 输入格式 本题单测试点有多组测试数据 ...
- Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量
Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量 Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...
- IMWEB 前端面试题汇总
1.什么是盒子模型? CSS中的思维模型,每一个元素都包含margin,padding,boder,content区域,占一个盒子形状,整体称为盒模型. 2.简述一下src与href的区别? Href ...
- Socket.io+Notification实现浏览器消息推送
前言 socket.io: 包含对websocket的封装,可实现服务端和客户端之前的通信.详情见官网(虽然是英文文档,但还是通俗易懂).Notification: Html5新特性,用于浏览器的桌面 ...
- APICloud案例源码、模块源码、考试源码、开发工具大集合!赶快收藏
APICloud专注于APP开发定制技术,多年来不停为开发者奉献更多的资源.此次,APICloud将以往的的资源进行更新.整合,以合集的形式分享给广大的用户. APICloud应用案例源码合集 API ...
- HTML5 & CSS3 内容收集(1)
1. HTML发展历史介绍 2. 浏览器支持 2.1 新增标签支持 在html5 中新增了很多的标签,其中包括8个新增语义结构标签.header, section, footer, aside, na ...
- 深入理解ES6之《用模块封装代码》
什么是模块 模块是自动运行在严格模式下并且没有办法退出运行的Javascript代码 在模块的顶部this的值是undefined 其模块不支持html风格的代码注释除非用default关键字,否则不 ...
- 用Canvas画一棵二叉树
笔墨伺候 var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); // 然后便可以挥毫泼墨 ...
- java中什么是Interface接口, 请给个实例!
1.Interface接口的定义和用法 先直接上大白话:马克-to-win:接口就是灰常灰常抽象的抽象类,我们可以就像用抽象类一样用接口,只不过,interface抽象到不能再抽象了,以至于里面不能 ...