docker+nginx+ssl+python3.6+centos

前言

制作一个Python3.2+的运行环境。通过Nginx代理转发ssl。系统为dockerhub上面官方最新版centos64位。

安装docker

在线安装社区版的docker 官方教程
教程里面在线和离线安装过程都包含了。
离线安装的时候可能会有依赖问题。一般加上 –nodeps参数都可以运行。

下载最新的centos7镜像

docker pull centos #拉取centos镜像
docker exec -it docker.io/centos -p 443:443 /bin/bash #创建并启动centos镜像,指定443端口映射。(以交互的形式启动
在网上查到,最新的centos7貌似只有64位。下载之后,执行 cat /proc/version 获取的确是最新的64位7.4版本。

安装Nginx

在线安装Nginx官方教程

安装Python3

参考安装Python3.5,只不过我安装的是最新版的3.6。

安装ssl

参考openssl生成SSL证书的流程
生成服务器端证书之后,就可以用了。之后把服务器端的crt和key文件配合nginx的配置路径放到一起就可以了.

配置Nginx

1、 vi /etc/nginx/nginx.conf 如下图:

2、vi /etc/nginx/conf.d/default.conf 如下图:

退出容器,提交镜像

exit #退出容器交互模式
docker commit 容器id cec_gongshi/jiuyue #保存镜像

启动镜像,验证是否成功


重点!!!!

在docker中执行systemctl restart nginx 的时候,报错:Failed to get D-Bus connection:Operation not permitted
参考centos7镜像问题
我的解决办法是 pkill -9 nginx 来关闭nginx,执行 /usr/sbin/nginx 来启动nginx。