From 89fae8dacb809fb669a19e1bb6eab23518a2c66f Mon Sep 17 00:00:00 2001 From: adiao <1819192616@qq.com> Date: Fri, 21 Jul 2023 08:33:26 +0800 Subject: [PATCH] Updated files --- ...er 部署 Nginx服务已经证书整合.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 Docker 部署 Nginx服务已经证书整合.md diff --git a/Docker 部署 Nginx服务已经证书整合.md b/Docker 部署 Nginx服务已经证书整合.md new file mode 100644 index 0000000..78cb6f1 --- /dev/null +++ b/Docker 部署 Nginx服务已经证书整合.md @@ -0,0 +1,169 @@ +# Docker 部署 Nginx服务已经证书整合 + +--- + +首先》先从docker 中获取nginx镜像(默认是latest) + +然后》创建可以映射到云服务器中的文件夹,推荐用服务器自带的www文件夹来做映射(没有就自行创建) + +接着》先运行一个测试的容器自定义命名 + +随后》复制里面的配置文件到准备映射的文件夹中 + +接着》将测试容器删除。接着创建一个正式使用的容器 + +剩下的就是进行服务配置了。 + +步骤代码: + +``` +docker pull nginx +``` + +创建文件夹 + +``` +mkdir /www/nginx/conf +mkdir /www/nginx/conf.d +mkdir /www/nginx/html +mkdir /www/nginx/log +mkdir /www/nginx/conf/key +``` + +测试容器 + +``` +docker run -it -p 80:80 -p 443:443 --network NginxNetwork -name nginxtest -d nginx:latest +``` + +复制配置文件 + +``` +docker cp nginxtest:/etc/nginx/nginx.conf /www/nginx/conf/nginx.conf +docker cp nginxtest:/etc/nginx/conf.d /www/nginx +docker cp nginxtest:/usr/share/nginx/html /www/nginx +``` + +上传证书,通过工具上传到指定文件夹下即可。 + +随即删除测试容器,做正式使用的容器 + +``` +docker run --name nginx -p 80:80 -p 443:443 --network NginxNetwork --privileged --restart=always \ +-v /www/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ +-v /www/nginx/conf.d:/etc/nginx/conf.d \ +-v /www/nginx/html:/usr/share/nginx/html \ +-v /www/nginx/log:/var/log/nginx \ +-v /www/nginx/conf/key:/etc/nginx/key \ +-d nginx:latest +``` + +如果启动状态不对,就查看日志。 + +要么就是说容器没有指定的文件夹。要么就是没有指定的配置文件。 + +docker cp /www/nginx/conf/key 容器名:/etc/nginx/key + +随即进行服务配置。最后进行重启容器即可。 + +#拉镜像 +docker pull jenkins/jenkins + +#创建卷(volume) +docker volume create jenkins_home + +#制作容器并启动 +docker run -d \ +-p 8080:8080 \ +-p 50000:50000 \ +-v jenkins_home:/var/jenkins_home \ +-v /usr/lib/jvm/java-8-openjdk-amd64:/usr/local/java \ +-v /home/holen/.local/share/apache-maven-3.6.3:/usr/local/maven \ +--name jenkins-quick \ +jenkins/jenkins + +``` +docker run -d \ +-p 8080:8080 \ +-p 50000:50000 \ +-v jenkins_home:/var/jenkins_home \ +-v /usr/lib/jvm/java-11-openjdk-11.0.18.0.9-0.3.ea.el8.x86_64:/usr/local/java \ +-v /root/server/apache-maven-3.9.3:/usr/local/maven \ +--name jenkins-quick \ +jenkins/jenkins:lts-jdk11 +``` + + + +#访问Jenkins +http://localhost:8080 + +项目部署: + +N个项目后端口 + +一个Jenkins管理口 + +一个Nginx服务端口 + +一个Gitea服务端口 + +统计网段: + +172.17.0: + +Gitea 、Jenkins + +172.18.12: + +Nginx + +172.13.19: + +N个项目端口 + +配置步骤: + +创建docker 网络 + +``` +docker network create -d bridge --subnet=172.20.12.0/10 --gateway=172.20.12.1 NginxNetwork +``` + +连接两个网段 + +``` +docker network connect my-network-1 my-container-2 // 这里是在某个网段中添加其他网段的容器在这个网段中。同理,另外一个网段的容器也是。 +``` + +断开两个网段 + +``` +docker network disconnect my-network-1 my-container-2 +``` + +``` +docker run --name nginx -p 80:80 -p 443:443 --network NginxNetwork --privileged --restart=always \ +-v /www/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ +-v /www/nginx/conf.d:/etc/nginx/conf.d \ +-v /www/nginx/html:/usr/share/nginx/html \ +-v /www/nginx/log:/var/log/nginx \ +-v /www/nginx/conf/key:/etc/nginx/key \ +-d nginx:latest + +docker run --name nginx -p 80:80 -p 443:443 -d nginx:latest + +docker run --name nginx -p 80:80 --privileged --restart=always \ +-v /www/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \ +-v /www/nginx/conf.d:/etc/nginx/conf.d:rw \ +-v /www/nginx/html:/usr/share/nginx/html:rw \ +-v /www/nginx/log:/var/log/nginx \ +-d nginx +``` + +复制文件夹到容器内部 + +``` +docker cp /path/to/local/directory container-id:/path/to/container/directory +``` +