存放日常开发所撰写的Markdown文件。
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.

3.7 KiB

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