映射docker搭建

安装docker参考 https://yeasy.gitbooks.io/docker_practice/content/install/ubuntu.html

拉取ubuntu16.04 作为基本镜像
```
docker pull ubuntu:16.04
```

建个空目录 ,创建Dockerfile
```
# vi Dockerfile

FROM ubuntu:16.04

RUN apt update && apt install -y \
nginx \ 
php \ 
php-mysql \ 
php-memcached \ 
php-msgpack \
php-mbstring \
php-dom \ 
php-zip \
php7.0-dev \
composer \
wget \ 
unzip \
re2c \
libgearman-dev \
# 删除apt缓存
&& rm -rf /var/lib/apt/lists/* \
# 删除nginx默认配置
&& rm -rf /etc/nginx/sites-enabled/default \
# 创建默认的日志目录
&& mkdir -p /opt/log \
&& chown www-data /opt/log -R
COPY be-report /etc/nginx/sites-enabled

RUN mkdir -p /tmp/install \
&& cd /tmp/install \
&& wget https://github.com/wcgallego/pecl-gearman/archive/master.zip \
&& unzip master.zip \
&& cd pecl-gearman-master \
&& phpize \
&& ./configure \
&& make install \
&& echo "extension=gearman.so" > /etc/php/7.0/mods-available/gearman.ini \
&& phpenmod -v ALL -s ALL gearman \
&& php -m | grep gearman
ENTRYPOINT service nginx start && service php7.0-fpm start && /bin/bash
EXPOSE 80
```

创建默认的nginx配置,文件名be-report
```
# vi be-report

server {
listen 80;
server_name _;
root /var/www/html/be-report/public/;
index index.php;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location ~ ^(.+\.php)(.*)$ {
alias /var/www/html/be-report/public/;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_read_timeout 9999999999;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $DOCUMENT_ROOT$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT/$fastcgi_script_name;
include fastcgi_params;
}

location / {
rewrite ^(.*)$ /index.php/$1 last;
}
}
```
从Dockerfile创建镜像,镜像名为 be-report
```
docker build -t be-report .
```
从镜像运行容器
```
#/home/xj3hj2/docker/ 需根据代码位置调整
docker run -it -p 8054:80 -v /home/xj3hj2/docker/be-report:/var/www/html/be-report -v /opt/wwwroot/conf/:/var/www/conf/ be-report /bin/bash

# -p 8054:80 将本地的8054映射到容器的80端口
# -v 本地目录:容器目录 将本地的代码目录映射到容器中,默认可读可写
```
#运行后进入了容器的bash 
```
cd /var/www/html/be-report && composer install 
```
结束后,ctrl+p 再 ctrl+q 退出容器

退出容器后在本机配置nginx转发
sites-enabled/default 的
server dev.tob.ifchange.com 那一段
里增加:
```
location /v2/ {
proxy_pass http://report.ats.v2.dev.ifchange.com;
proxy_set_header Host $http_host;
}
```
conf.d/upstream.conf里增加
```
upstream report.ats.v2.dev.ifchange.com{
server localhost:8054;
}
```
测试:
http://dev.tob.ifchange.com/v2/account/cache

备注:
```
#查看所有容器,运行和未运行的
docker ps -a
#容器启动 停止
docker start/stop 容器名
#容器删除
docker rm 容器名

#查看所有镜像
docker images
#删除镜像
docker rmi 镜像名 //需要没有关联的容器

#tob-resume-service
cp bootstrap/autoload.php.example bootstrap/autoload.php
编辑 bootstrap/autoload.php 最前面 define(‘ENV‘, ‘dev‘)
```

原文地址:https://www.cnblogs.com/zeoblog/p/9435532.html

时间: 2024-11-13 08:12:22

映射docker搭建的相关文章

Docker 搭建 Tomcat 运行环境

使用 Docker 搭建 Tomcat 运行环境 1. Docker与虚拟机的区别 2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: · 必须是 64 位操作系统 · 建议内核在 3.8 以上 查看 CentOS 7系统内核: [[email protected] ~]# uname  -r 3.10.0-327.el7.x86_64 2.2 安装Docker [[email protected] ~]# yum  -y   install   docker

在 Docker 搭建 Maven 私有库

在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely missing a number of opportunities to reduce some pretty obvious inefficiencies. If everyone on your team has to hit public repositories like the Centr

【译文】用Spring Cloud和Docker搭建微服务平台

by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-microservices.html This blog series will introduce you to some of the foundational concepts of building a microservice-based platform using Spring Cloud

使用Docker搭建Java Web运行环境

这周末体验了一下挺火的Docker技术,简单记录自己的学习笔记. >Docker是干什么的 Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发,源代码托管在 Github 上, 遵从Apache2.0协议开源.Docker的目标是实现轻量级的操作系统虚拟化解决方案. 学习Docker首先要了解几个概念: 镜像—Docker的镜像和常见的系统ISO镜像类似,包含了应用程序的信息: 容器—容器相当于一个可以运行起来的虚拟机,应用程序运行在

基于Docker搭建ActiveMQ的高可用集群

最近刚开始玩Docker和ActiveMQ刚好学习到ActiveMQ集群的搭建,就将其记录了下来给有需要的人,也可以跟大家交流交流. 这里先感谢慕课网和http://blog.csdn.net/lifetragedy/article/details/51869032,在学习ActiveMQ有很大的帮助. 一.docker坏境的搭建. 这里重点不是docker,而是基于docker搭建的ActiveMQ集群,docker了解的也可以参考http://www.docker.org.cn/.     

如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

docker搭建zabbix

本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server --hostname zabbix-mysql-server -e MYSQL_ROOT_PASSWORD="123456" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_DAT

使用 Docker 搭建 Java Web 运行环境

Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种"轻量级"容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了.作为一名 Java 程序员,我们是时候一起把 Docker 学起来了! 本文会对虚拟化技术与 Docker 容器技术做一个对比,然后引出一些 Docker 的名词术语,比如:容器.镜像等,随后将使用 Docker 搭建一个 Java Web 运行环境,最

转:使用 Docker 搭建 Java Web 运行环境

原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了.作为一名 Java 程序员,我们是时候一起把 Docker 学起来了! 本文会对虚拟化技术与 Docker 容器技术做一个对比,然后