博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
映射docker搭建
阅读量:5942 次
发布时间:2019-06-19

本文共 2815 字,大约阅读时间需要 9 分钟。

安装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

你可能感兴趣的文章
React 组件通信之 React context
查看>>
ZooKeeper 可视化监控 zkui
查看>>
Linux下通过配置Crontab实现进程守护
查看>>
ios 打包上传Appstore 时报的错误 90101 90149
查看>>
Oracle推出轻量级Java微服务框架Helidon
查看>>
密码概述
查看>>
autoconf,automake,libtool
查看>>
jQuery的技巧01
查看>>
基于泛型实现的ibatis通用分页查询
查看>>
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>
nagios配置监控的一些思路和工作流程
查看>>
通讯组基本管理任务三
查看>>
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>