1.升级处理:sudo apt-get update
缺包,包的版本旧等问题可以由此解决,如果不是的话那就是缺失认证,需要生成自己的认证证书。
2.生成自己的认证证书
先建一个文件夹
mkdir -p certs
之后创建证书,证书生成在刚才创建的文件夹中
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /root/certs/domain.key -x509 -days 365 -out /root/certs/domain.crt
之后将certs生成的证书放到/etc/docker/目录下
之后重启docker服务 sudo service docker restart
Reboot之后即可
补充:使用Docker安装的nginx配置HTTPS证书
新建ssl.conf,将文件放入conf.d文件夹中
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/1533224843981.pem;
ssl_certificate_key cert/1533224843981.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;
}
}
注意点:cert为相对路径,若是linux文件夹与nginx.conf,若是window则在conf文件夹下。
运行
docker run --name mynginx -p 443:443 -v /opt/data/nginx/nginx.conf:/etc/nginx/nginx.conf
-v /opt/data/nginx/conf.d:/etc/nginx/conf.d/default.conf
-v /opt/data/nginx/www:/www -v /opt/data/nginx/cert:/etc/nginx/cert
-v /opt/data/nginx/ssl.conf:/etc/nginx/conf.d/ssl.conf -d nginx
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。