Docker完整建站详介
2019独角兽企业重金招聘Python工程师标准>>>
一,在主服务器上操作:安装完成docker;略
二,查看镜像
[root@localhost ~]#docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos/shop2.web.top latest 8fc9b211671a 14 minutes ago 1.835 GB .....
三,运行镜像及在镜像内安装nginx环境
1,docker run -it -p 10888:8888 -p 10222:22 -p 8081:80 --name centos/shop2.web.top
2,如果使用-d后台参数,就使用docker exec -it ..., 进入docker.
#/etc/init.d/php-fpm-54 start #/etc/init.d/sshd start [不能使用winscp,进入了ssh] #/etc/init.d/bt start [启动它,才能访问80]
3,配置宝塔nginx,不要安装mysql。因为mysql经常有数据变动,并且安装docker mysql镜像很麻烦。请在docker外的服务器安装mysql即可。
4,docker内的shop2的配置:
登录到http://103.15.104.*:10888/login 到宝塔内面,或进入容器内docker exec -it [容器id] /bin/bash。进行配置
5,nginx配置文件:
# vi /www/server/nginx/conf/nginx.conf[root@8825f8263497 /]# cat /www/server/nginx/conf/nginx.conf
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;events{use epoll;worker_connections 51200;multi_accept on;}http{include mime.types;include proxy.conf;default_type application/octet-stream;server_names_hash_bucket_size 512;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 50m;sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 256k;fastcgi_intercept_errors on;gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;gzip_vary on;gzip_proxied expired no-cache no-store private auth;gzip_disable "MSIE [1-6]\.";limit_conn_zone $binary_remote_addr zone=perip:10m;limit_conn_zone $server_name zone=perserver:10m;server_tokens off;access_log off;server{listen 888;server_name www.bt.cn;index index.html index.htm index.php;root /www/server/phpmyadmin;#error_page 404 /404.html;include enable-php.conf;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}location ~ /\.{deny all;}access_log /www/wwwlogs/access.log;}server{listen 8082; server_name 127.0.0.1; #这个很重要,主要在docker的容器外访问http://172.17.0.4:80可以访问。index index.html index.htm index.php;root /www/wwwroot/shop;#error_page 404 /404.html;location / {if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s=$1 last;break;}}location ~ .php($|/) {set $script $uri;set $path_info "";if ($uri ~ "^(.+.php)(/.+)") {set $script $1;set $path_info $2;}fastcgi_param SCRIPT_FILENAME $document_root$script;fastcgi_param SCRIPT_NAME $script;fastcgi_param PATH_INFO $path_info;try_files $uri =404;fastcgi_pass unix:/tmp/php-cgi-54.sock;fastcgi_index index.php;include fastcgi.conf;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}location ~ /\.{deny all;}access_log /www/wwwlogs/access.log;}include /www/server/panel/vhost/nginx/*.conf;
}
4,在容器内配置好nginx,然后nginx reload.访问站点
[root@8825f8263497 /]# curl http://127.0.0.1:8082 【结果正确,省。。。】
四 主服务器配置环境及访问站点:
1,#cd /usr/local/tengine2/conf/ 【我使用的是tengine]
2, 将下面的配置加到nginx.conf文件内
server {listen 80;server_name web.top;error_log logs/shop2.web.log;location / { 【关键是这个代理,将请求的web.top:80的协议转到web.top】proxy_buffering off;proxy_pass http://172.17.0.4:8082; 【172.17.0.4 是容器的ip地址】}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
3,重启nginx
#ps -ef | grep nginx root 18687 1 0 Feb21 ? 00:00:00 nginx: master process ./nginx
#kill -9 18687
#./sbin/nginx
说明:如果使用killall nginx ,会将docker容器内的nginx也kill掉。
4,完成。 # curl http://web.top [经测试成功]
备注: 1,查看容器的ip
docker inspect --format='{{.NetworkSettings.IPAddress}}' $(docker ps -a -q) 2,查看容器的name
sudo docker inspect -f='{{.Name}}' $(sudo docker ps -a -q)
转载于:https://my.oschina.net/7795442/blog/1622961
Docker完整建站详介相关推荐
- centos7云主机nginx+WordPress完整建站流程记录
一.安装nginx 1.安装依赖 #安装gcc yum install gcc-c++ #安装 pcre-devel yum install -y pcre pcre-devel #安装zlib yu ...
- Docker(十四):Docker:网络模式详解
Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...
- Docker系列07—Dockerfile 详解
Docker系列07-Dockerfile 详解 1.认识Dockerfile 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 基于容器制作镜像,已经在上篇Do ...
- Docker:网络模式详解
http://www.cnblogs.com/zuxing/articles/8780661.html Docker:网络模式详解 袖珍指南 Docker作为目前最火的轻量级容器技术,牛逼的功能,如D ...
- Docker持续部署图文详解
2019独角兽企业重金招聘Python工程师标准>>> Docker持续部署图文详解 博客分类: docker 架构 JAVA项目如何通过Docker实现持续部署(只需简单四步),即 ...
- 基于Kubernetes构建Docker集群管理详解
from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...
- DockOne微信分享(八十四):Docker在B站的实施之路
本文讲的是DockOne微信分享(八十四):Docker在B站的实施之路[编者的话]B站一直在关注Docker的发展,去年成功在核心SLB(Tengine)集群上实施了Docker.今年我们对比了各种 ...
- docker entrypoint入口文件详解
docker entrypoint入口文件详解 pasting Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较 [k8s]args指令案例-彻底理解docke ...
- 舆情总结汇报撰写范文模板格式详介
无论是网络舆情工作还是其它任何工作,从工作执行到收尾会有一个结论,而这个就是我们所谓的工作总结,同样对于网络舆情管理员们来说也不例外,也需要写网络舆情工作总结. 但不是所有的工作总结都是同一个模板,不 ...
最新文章
- 服务器唯一id生成规则
- 注册界面翻译_B站UP主自制的开源OCR翻译器走红Github,用一次就粉了
- 深入理解C系列:不同类型变量的变量名和内存间的关系
- php新闻列表页模块,PHP开发简单新闻发布系统之新闻列表页整体功能实现
- SSI——服务器端嵌入
- Java SpringMVC实现PC端网页微信扫码支付完整版
- 电脑记时----千年虫
- Vue 进阶 (二)
- 《拯救人类》:很有可能改变人类历史进程的书
- 进程间通信之消息队列
- JVM性能提升50%,聊一聊背后的秘密武器Alibaba Dragonwell
- ubantu20下python安装和卸载
- 使用DynamicObject的自定义动态行为
- “我在苹果商店下载了一个诈骗App,损失60万美金!”
- 移动设备分辨率(终于弄懂了为什么移动端设计稿总是640px和750px)
- 机器学习基础---回归方法---支持向量回归(SVR)
- vue组件库开发遇到的regeneratorRuntime is not defined
- 微信公众平台自动回复详解
- 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)RC-u4 攻略分队
- php如何pfx转成jks证书,常规方法不行,变相来实现
热门文章
- 【linux】Valgrind工具集详解(十三):DRD(线程错误检测器)
- 5折交叉验证_交叉验证:评估模型表现
- linux挂载media装服务,CentOS8服务器入门系列教程(五):Linux挂载光盘、yum安装软件包...
- python 速度矢量_最近邻搜索4D空间python快速-矢量化
- node项目部署到服务器报错,记一次部署node项目到centos服务器经历
- 国家标准油类计算机,食用油新国标正式实施 产品配方将不再是“机密”
- 【spring】专项配置文件的使用
- Redis数据库设置密码
- session对象运行机制
- 微信小程序图片自适应宽高比例显示解决方法