环境:操作系统(Ubuntu  16.04 64位); php7.1;  nginx/1.14.0
 
基础环境准备:
整体思路:docker pull一个ubuntu镜像,然后在容器中安装nginx,PHP,启动时将宿主机中的数据目录,配置文件映射到容器中,映射宿主机端口到容器中端口。
 
#拉取ubuntu镜像
Docker pull ubuntu                
#启动ubuntu容器
docker  run -it —name myserver ubuntu  /bin/bash      
 #进入容器中,退出可以使用exit,容器仍然运行
Docker exec -it myserver    /bin/bash                          
 
容器中安装nginx:
#安装软件前务必更新源,否则会出现找不到安装包
apt-get update
 
#安装nginx
apt-get install nginx
 
容器中安装PHP:
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-
sudo apt-get install software-properties-common
sudo LC_ALL=en_US.UTF- add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php7.
sudo apt-get -y install php7.-mysql
sudo apt-get install php7.-fpm
apt-get install php7.-curl php7.-xml php7.-mcrypt php7.-json php7.-gd php7.-mbstring
至此容器的基础环境(nginx+php)搭建好了。
 
接下来我们把刚才的容器做成一个镜像,然后以这个镜像来做接下来的操作。
首先用docker ps查询容器的ID,然后执行下面命令,将容器做成镜像
 提交镜像:
docker commit-m“ubuntu+nginx+php"-a“dadong"0d358e48211c79 myserver
 
 
1、创建容器:
 
docker run --name myserver -p 9001-9020:9001-9020 -v /data:/data -v /etc/nginx:/etc/nginx -v /etc/php/7.1:/etc/php/7.1 -it  1023495336/linux
注意:如果需要退出容器,使用快捷键ctrl+p+q
 
2、修改配置文件
修改配置文件的域名,端口
修改docker配置文件可以在宿主机中的映射文件修改,然后到docker容器中重启nginx
service nginx reload
 
3、修改宿主机nginx配置文件,实现域名访问docker容器中项目。
在nginx配置文件/etc/nginx/conf.d下创建以.conf结尾的配置文件,内容如下:
server {
listen ;
server_name aaa.100wlc.com;
location / {
proxy_pass http://172.16.237.125:9030; ##宿主机IP:宿主机端口(宿主机映射的容器端口)
}
error_page /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
重启宿主机nginx
 
 
 
 

利用docker搭建ubuntu+nginx+PHP容器的更多相关文章

  1. 利用Docker搭建本地https环境的完整步骤

    利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...

  2. 利用 Docker 搭建 IPFS 私有网络

    利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/p ...

  3. Windows server 2016 支持容器 ,安装docker 搭建Ubuntu+hadoop (docker为服务器)

    一.Windows server 2016 是肯定要安装的, 关于如何启动容器功能那就是控制面板中增加与删除里面的启用了,很多地方可以百度到 二. 安装Ubuntu hadoop 等  待续 注意: ...

  4. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  5. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  6. docker 搭建keepalived+nginx高可用

    前言 最近工作 中 有用到keepalived,就想着 在 本地 搭建一套环境验证一下相关的功能.因为创建虚拟机比较麻烦,就借助  docker来搭建这样 一套 环境 ,顺带学习 巩固下docker的 ...

  7. 利用 Docker 搭建单机的 Cloudera CDH 以及使用实践

    想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用.其实操作的流和使用到的命令差不多就一并说了: 首先前往官方下载包: https://www.cloudera ...

  8. 用docker搭建php+nginx+laravel的开发环境

    制作镜像 由于官方php:7.2.2-fpm-alpine3.7 镜像不含composer,而单独做一个composer镜像又会依赖php镜像,所以应该在php镜像中添加composer.Docker ...

  9. 利用Docker搭建开发环境

    一. 前言 随着平台的不断壮大,项目的研发对于开发人员而言,对于外部各类环境的依赖逐渐增加,特别是针对基础服务的依赖.这些现象导致开 发人员常常是为了简单从而直接使用公有的基础组件进行协同开发,在出现 ...

随机推荐

  1. 使用log4net生成日志文件

    (一)使用log4net生成日志文件   1.引入log4net.dll 1.1 Nuget安装 或 http://logging.apache.org/log4net/下载log4net的源代码,编 ...

  2. postman6 在Linux中,body和response字体显示不正常的解决方法

    在Linux中,postman的body和response使用的默认字体如果没有安装的话,会导致字体和光标的位置不一致,例如字体显示长度只有30,而光标在70的位置,导致编辑困难. 经查找css的定义 ...

  3. 转: 关于linux用户时间与系统时间的说明

    写的很不错的一篇. https://blog.csdn.net/mmshixing/article/details/51307853

  4. Delphi10.2 DPR文件

    通过选择[Project | View Source],可以看到DPR文件的基本面貌,操作如下: 默认的 Delphi 项目文件的内容如下: program Project1; {关键字 progra ...

  5. 我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=i5j7gwrxj9x5

    我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=i5j7gwrxj9x5

  6. 创建一个Django项目的基本步骤

    创建一个Django 的常规步骤 1.寻找一个磁盘目录,比如 e: 2.django-admin startproject ops 3.cd ops 4.python manage.py starta ...

  7. invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

    Mac系统升级git会找不到并且报错:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) ...

  8. vivado和modelsim联合调试仿真

    vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...

  9. Nuxt.js部署应用的方式

    Nuxt.js 提供了两种发布部署应用的方式:服务端渲染应用部署 和 静态应用部署. 静态应用部署就不说了,主要说说服务端渲染应用部署. 官方部署方式 关于服务端渲染应用部署,官方文档是这么写的: 部 ...

  10. 修改Egret引擎代码的方法

    某些情况下,我们需要修改Egret引擎的源码,我们可以在源码目录(一般如下:xxx\Egret\engine\x.x.x\src\egret)下直接修改ts代码. 在对应的项目下打开CMD命令行,输入 ...