1. ##########################################
  2. #运行容器
  3.  
  4. #安装Nginx
  5.  
  6. #搜索、下载镜像
  7. docker search nginx
  8. docker pull nginx
  9. docker images nginx
  10.  
  11. #运行容器mynginx
  12. docker run -p : --name mynginx -d nginx
  13.  
  14. #查看端口
  15. netstat -antp|grep
  16. #访问测试
  17. curl 127.0.0.1
  18. #外部浏览器访问ip正常,部署成功
  19.  
  20. #进入Nginx容器
  21. docker exec -it mynginx /bin/sh
  22. #退出容器 exit
  23. Ctrl+d #快捷键
  24.  
  25. #列出容器
  26. docker ps -a
  27. #删除容器
  28. docker rm mynginx
  29.  
  30. ##########################################
  31.  
  32. 运行Nginx部署网站
  33. ##########################################
  34.  
  35. #接下来思考问题:
  36. #Nginx配置、查看日志、部署网站
  37. #需要把外部的目录或文件映射到docker容器
  38.  
  39. #创建目录
  40. Ngdir=/www/docker/nginx
  41. mkdir -p $Ngdir/{www,log,conf/conf.d}
  42.  
  43. #创建配置(采用默认配置去注释)
  44. echo '#man config
  45. user nginx;
  46. worker_processes ;
  47. error_log /var/log/nginx/error.log warn;
  48. pid /var/run/nginx.pid;
  49. events {
  50. worker_connections ;
  51. }
  52. http {
  53. include /etc/nginx/mime.types;
  54. default_type application/octet-stream;
  55. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  56. '$status $body_bytes_sent "$http_referer" '
  57. '"$http_user_agent" "$http_x_forwarded_for"';
  58. access_log /var/log/nginx/access.log main;
  59. sendfile on;
  60. keepalive_timeout ;
  61. include /etc/nginx/conf.d/*.conf;
  62. }
  63. '>$Ngdir/conf/nginx.conf
  64. #
  65. echo '#nginx
  66. server {
  67. listen 80;
  68. server_name localhost;
  69. location / {
  70. root /usr/share/nginx/html;
  71. index index.html index.htm;
  72. }
  73. error_page 500 502 503 504 404 /50x.html;
  74. location = /50x.html {
  75. root /usr/share/nginx/html;
  76. }
  77. }
  78. '>$Ngdir/conf/conf.d/default.conf
  79. #html
  80. echo 'Welcome to nginx!'>$Ngdir/www/index.html
  81. echo 'error_page 500 502 503 504 404'>$Ngdir/www/50x.html
  82.  
  83. #使用nginx镜像,创建容器mynginx
  84. docker run -p 80:80 --name mynginx \
  85. -v $Ngdir/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
  86. -v $Ngdir/conf/conf.d:/etc/nginx/conf.d:ro \
  87. -v $Ngdir/www:/usr/share/nginx/html:rw \
  88. -v $Ngdir/log:/var/log/nginx:rw \
  89. -d nginx
  90.  
  91. #测试html内容
  92. curl 127.0.0.1
  93. curl 127.0.0.1/123
  94. #查看error.log
  95. cat $Ngdir/log/error.log
  96.  
  97. #测试成功 ^_^
  98.  
  99. # 参数说明:
  100. # -p 80:80:本地80端口:映射docker容器80端口
  101. # -v $Ngdir/log:/var/log/nginx 主机log目录挂载到容器log/nginx

docker 运行容器,安装Nginx的更多相关文章

  1. Docker容器安装nginx基本步骤Yum版

    首先我们来科普一下nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问 ...

  2. Docker Alpine Dockerfile 安装nginx,最小镜像

    Docker Alpine Dockerfile 安装nginx,最小镜像 FROM alpine MAINTAINER will ## 将alpine-linux:apk的安装源改为国内镜像 RUN ...

  3. centos容器安装nginx及运行

    进入centos容器: 安装依赖:yum insatll -y wget gcc gcc-c++ make openssl-devel 安装: 到官网复制下载链接:http://nginx.org/d ...

  4. docker运行容器后agetty进程cpu占用率100%

    1.最近在使用docker容器的时候,发现宿主机的agetty进程cpu占用率达到100% 在Google上搜了下,引起这个问题的原因是在使用"docker run"运行容器时使用 ...

  5. docker运行环境安装-centos(一)

    在这里我们使用的是docker的社区版Docker CE,针对的是未安装docker的新的主机,如果安装过docker的早期版本,先卸载它们及关联的依赖资源,安装的版本为docker 18.03. 1 ...

  6. Docker Ubuntu容器安装ping(zz)

    更新apt-get的软件包信息,然后再安装 sudo docker run ubuntu apt-get update sudo docker run ubuntu apt-get install i ...

  7. Docker 运行容器 CentOS7 使用systemctl 启动报错 Failed to get D-Bus connection: Operation not permitted

    原系统:Centos 7 Docker 版本:1.12.6 操作:安装并运行 Tomcat 问题:在创建好容器之后,并且进入系统运行启动tomcat [root@cd11558d3a22 /]# sy ...

  8. docker 运行容器时为容器起别名

    docker run --name=mydemo -p  -d 2222:80 imagename --name: 指定容器名称 -p:指定容器端口号 -d:指定容器后台运行

  9. 使用 Docker Alpine 镜像安装 nginx

    微镜像Alpine,Alpine Linux 是一款独立的⾮商业性的通⽤ Linux 发行版,Alpine Linux 围绕 musl libc 和 busybox 构建,尽管体积很小,Apline ...

随机推荐

  1. 『SpringMVC』<context:include-filter>&<context:exclude-filter>爬坑

    原文地址:https://segmentfault.com/a/1190000012972619 大家好,我是猪弟,猪在我心中从来不是蠢的代名词,而是懒的代名词,本次准备记录一个在开发测试过程中遇到的 ...

  2. MySql中4种批量更新的方法

    最近在完成MySql项目集成的情况下,需要增加批量更新的功能,根据网上的资料整理了一下,很好用,都测试过,可以直接使用. mysql 批量更新共有以下四种办法 1..replace into 批量更新 ...

  3. OpenGL.ProjectiveTextureMapping

    1. 简介 https://developer.nvidia.com/content/projective-texture-mapping

  4. ejb 和pojo , jboss 和 tomcat

    EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务.安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系 ...

  5. jQuery nyroModal 插件遇到问题

    nyroModal ver 1.6.2 弹出层插件 浏览更多   初始化大小问题 //页面加载完成后初始化 设置大小 $(function() { $.nyroModalSettings({ widt ...

  6. class和struct

    相同点 实际上可以使用这两个关键字定义任何一个类. 区别 1.struct的默认成员访问说明符为public,class的默认成员访问说明符为private(什么叫默认?就是没有写明public.pr ...

  7. BZOJ 1005 [HNOI2008]明明的烦恼 (Prufer编码 + 组合数学 + 高精度)

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5786  Solved: 2263[Submit][Stat ...

  8. osgearth

    https://max.book118.com/html/2018/0521/167783983.shtm https://baike.1688.com/doc/view-d36134276.html

  9. HDU1349 Minimum Inversion Number 2016-09-15 13:04 75人阅读 评论(0) 收藏

    B - Minimum Inversion Number Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...

  10. 通过hbase实现日志的转存(MR AnalyserLogDataRunner和AnalyserLogDataMapper)

    操作代码(提前启动集群(start-all.sh).zookeeper(zkServer.sh start).启动历史任务服务器(mr-jobhistory-daemon.sh start histo ...