You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
3.7 KiB
170 lines
3.7 KiB
|
3 years ago
|
# 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
|
||
|
|
```
|
||
|
|
|