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- ...
随机推荐
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
1.64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的.少于 8 GB 会适得其反. 2.如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好.多 ...
- Google Translate寻找之旅
须知 网站:https://translate.google.de/ TK对应入口函数:teanslate_m_zh_CN文件/vu函数 TKK对应文件:/index页面,直接搜索TKK值即可 Goo ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- servlet中的HttpServletResponse对象
当有多个客户端浏览器去请求Tomcat时,Tomcat会为每一个客户端浏览器创建一对独立的HttpServletRequest与HttpServletResponse对象 HttpServletRes ...
- 攻防世界upload1
upload1 进入环境就一个上传,我们先上传一个普通的木马文件看看 木马内容 <?php @eval($_POST["cmd"]); ?> 估计是前端校验我们查看源码 ...
- 显示调用C++中构造函数和析构函数(有什么弊端)
1.C++中, 构造函数和析构函数可以被显示调用. 显示调用默认构造函数的语法: a.A::A();(不能写成a.A();) , 显示调用非默认构造函数的语法: a.A::A(7);(不能写成a.A( ...
- python-你好
你的程序会读入一个名字,比如John,然后输出"Hello John". 输入格式: 一行文字. 输出格式: 一行文字. 输入样例: Mary Johnson 输出样例: Hell ...
- Unknown host mirrors.opencas.cn You may need to adjust the proxy settings in Gradle 报错及解决办法
亲测Unknown host mirrors.opencas.cn You may need to adjust the proxy settings in Gradle 解决办法 - 程序员大本营 ...
- 数据库查询中where和having的用法
1.类型: "baiWhere"是一个约束声明,在查询数据库du的结果返回之前对数据库中zhi的查询条件进行约束dao,即在结果返回之前起作用,且where后面不能使用" ...
- Blazor组件自做六 : 使用JS隔离封装Baidu地图
1. 运行截图 演示地址 2. 在文件夹wwwroot/lib,添加baidu子文件夹,添加baidumap.js文件 2.1 跟上一篇类似,用代码方式异步加载API,脚本生成新的 body > ...