[小白学习]Docker入门(二)-Nginx配置Https

请这一篇前请先看完 《[小白学习]Docker入门》链接地址: https://blog.csdn.net/c364902709/article/details/80924690

一、启动nginx
启动nginx: docker run -d -p 81:80 nginx
查看容器id: docker container list
进入nginx docker的shell:  docker container exec -it 容器id /bin/bash
停止容器: docker stop 容器id

二、Nginx 镜像的配置文件位置(在Docker中也是这个位置)
日志文件位置:/var/log/nginx
配置文件位置: /etc/nginx
资源存放的位置: /usr/share/nginx/html
ssl证书存放位置: /ssl/
三、nginx docker 与本地配置文件映射
拷贝容器内的配置文件到本地:
docker cp 容器id:/etc/nginx/nginx.conf /home/tom/nginx/etc/nginx.conf

将Nginx镜像和我们本机的目录进行映射,方便我们修改文件:
docker run -d -p 81:80  -v /home/tom/nginx/log/:/var/log/nginx  -v /home/tom/nginx/etc/nginx.conf:/etc/nginx/nginx.conf  -v /home/tom/nginx/html/:/usr/share/nginx/html   -v /home/tom/nginx/ssl:/ssl/ nginx

修改本机配置文件后,重启nginx Docker(目前我只知道这个)
docker restart 容器id

四、docker nginx配置https
我这边只有一台腾迅云机器,开启https时,有一些问题进行记录。

1. 在宿主机器中配置ssl证书
将ssl证书放在宿主机的/home/tom/nginx/ssl目录下

2. 在nginx的相关配置文件
    server {
      listen 443 ssl;
      server_name www.mycoin.work;
      root html;
      index index.html index.htm;
      ssl_certificate  /ssl/1537168711434.pem;
      ssl_certificate_key  /ssl/1537168711434.key;
      ssl_session_timeout 5m;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on;
      location / {
          root html;
          index index.html index.htm;
      }
    }

3. 启动nginx docker容器
docker run -d -p 81:80 -p 443:443  -v /home/tom/nginx/log/:/var/log/nginx  -v /home/tom/nginx/etc/nginx.conf:/etc/nginx/nginx.conf  -v /home/tom/nginx/html/:/usr/share/nginx/html   -v /home/tom/nginx/ssl:/ssl/ nginx
要注意,这边有两个-p,其中一个是-p 443:443。我最初没有加这个映射,发现https一直访问不了,原来想明白了。在nginx配置的监听端口是docker中的,我的宿主机并未监听443端口,导致我无论访问多少次都不可能生效

五、端口监听
端口监听:是指相应端口的进程正常开启,如果端口未被监听,可能是应用未开启
如何查看当前机器哪些端口进行了监听
1. netstat -tnlp

六、其它
Docker问题: “Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”
解决方案: service docker start


Nginx问题: ngix the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/nginx.conf:35
解决方案: 删除掉ssl on,改为listen 443 ssl;

docker run 命令详解
参考: http://www.runoob.com/docker/docker-run-command.html

其它参考:
https://www.cnblogs.com/roverliang/p/8431206.html
https://lvtao.net/config/docker-nginx.html
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker-Nginx-RTMP是一个基于Docker容器的Nginx RTMP服务器。你可以在Docker Hub的镜像页面上搜索关键词"nginx rtmp"来找到相关的镜像[1]。使用Docker可以方便地安装和部署Nginx RTMP服务器,而且在开发和测试过程中能避免许多安装和配置问题[2]。 为了在Docker中安装Nginx RTMP,你可以使用以下命令: ``` sudo docker run -d --name rtmp -p 1935:1935 -p 8080:8080 -v ~/Documents/nginx-1.19.2/conf/nginx.conf:/etc/nginx/nginx.conf alqutami/rtmp-hls ``` 这个命令将在Docker容器中运行一个名为"rtmp"的容器,并将主机的1935端口和8080端口映射到容器的对应端口。同时,使用-v参数来将本地目录`~/Documents/nginx-1.19.2/conf/nginx.conf`挂载到容器中的`/etc/nginx/nginx.conf`目录中,以便配置Nginx RTMP服务器。 通过上述步骤,你就可以在Docker中成功安装并运行Nginx RTMP服务器了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [docker 搭建nginx-rtmp](https://blog.csdn.net/chy555chy/article/details/109778101)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [docker安装nginx+rtmp模块搭建服务器实现ffmpeg推流+ffplay播放](https://blog.csdn.net/lwwl12/article/details/104903403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值