阿里云部署 (四) 部署net 之Swarm
2021-09-12 16:31 qgbo 阅读(70) 评论(0) 收藏 举报总结前面的几篇,用Swarm 部署
1.写dockerFile:
FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
ENTRYPOINT ["dotnet", "Backend.dll","--urls","http://*:5000"]
2.写docker-compose.yml
version: "3.8"
services:
net5:
image: net5
ports:
- "5678:80"
networks:
- overlay
depends_on:
- SqlServer
volumes:
- /app:/app
deploy:
replicas: 1
nginx:
image: nginx
networks:
- overlay
ports:
- "443:443"
- "80:80"
volumes:
- /nginxdata/:/etc/nginx/conf.d
deploy:
replicas: 1
SqlServer:
image: mcr.microsoft.com/mssql/server:2017-latest
environment:
ACCEPT_EULA: 'Y'
SA_PASSWORD: 'xxxx'
networks:
- overlay
ports:
- "1433:1433"
deploy:
replicas: 1
Centos:
image: centos
command: sleep 10000000
networks:
- overlay
deploy:
replicas: 1
networks:
overlay:

html 是公司站点入口
其他的配置:
[root@caixue /]# cat nginxdata/rewrite.conf
server {
listen 80;
rewrite ^(.*) https://$host$1 permanent;
}
[root@cae /]# cat nginxdata/app.ryrkj.conf
server {
listen 443 ssl;
server_name app.ryrkj.com;
ssl_certificate /etc/nginx/conf.d/5203971_app.ryrkj.com.pem;
ssl_certificate_key /etc/nginx/conf.d/5203971_app.ryrkj.com.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;
client_max_body_size 20m;
location / {
proxy_pass http://app_net5:5000;
# root /usr/share/nginx/html;
# index index.html index.htm;
}
}
[root@cixue /]# cat nginxdata/ryrkj.conf
server {
listen 443 ssl; #SSLЭ▒▒▒▒ʶ˿ں▒Ϊ443▒▒▒˴▒▒▒δ▒▒▒ssl▒▒▒▒▒ܻ▒▒▒▒Nginx▒▒▒▒▒
server_name ryrkj.com www.ryrkj.com; #▒▒localhost▒▒Ϊ▒▒֤▒▒▒▒▒▒▒▒▒▒磺www.example.com▒▒
ssl_certificate /etc/nginx/conf.d/5153330_ryrkj.com.pem; #▒▒domain name.pem▒滻▒▒▒▒֤▒▒▒▒ļ▒▒▒
ssl_certificate_key /etc/nginx/conf.d/5153330_ryrkj.com.key; #▒▒domain name.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 /etc/nginx/conf.d/html;
index index.html index.htm;
}
}
运行 docker stack deploy -c docker-compose.yml app, 就可以运行站点
起来了2个网站,一个静态站点,一个管理系统。
注意
1.这里的nginx 的数据卷,挂数据卷挂的是目录,也可以是文件,文件可以看 这个就是挂的文件
这里在宿主机上有 nginxdata 这个文件夹,然后deploy, 容器起来之后会挂在这个文件夹中的内容,而容器内部的这个文件夹的原来数据会没有了。
2.由于net5 的容器的网络直接挂在了 这些服务上,所以export 也可以不要了。
3. nginx 的conf.d 文件夹的 .conf 文件,会被加载。这个和 /etc/profile.d/*.sh 类似。/etc/profile 里面增加了环境变量之后, 需要运行下 . /etc/profile, 才能立即起效。
气功波(18037675651)
浙公网安备 33010602011771号