Identity Server 4 从入门到落地(十一)—— Docker部署
前面的部分:
Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始
Identity Server 4 从入门到落地(二)—— 理解授权码模式
Identity Server 4 从入门到落地(三)—— 创建Web客户端
Identity Server 4 从入门到落地(四)—— 创建Web Api
Identity Server 4 从入门到落地(五)—— 使用Ajax 访问 Web Api
Identity Server 4 从入门到落地(六)—— 简单的单页面客户端
Identity Server 4 从入门到落地(七)—— 控制台客户端
Identity Server 4 从入门到落地(八)—— .Net Framework 客户端
Identity Server 4 从入门到落地(九)—— 客户端User和Role的解析
Identity Server 4 从入门到落地(十)—— 编写可配置的客户端和Web Api
认证服务和管理的github地址: https://github.com/zhenl/IDS4Admin
客户端及web api示例代码的github地址:https://github.com/zhenl/IDS4ClientDemo
第一部分开始使用的认证服务和管理应用都是在本地运行,本文介绍将这两部分作为Docker容器部署。这两部分的镜像已经上传到docker hub,可以使用下面的命令下载。
认证服务镜像:
docker pull zhenlei1970/ids4adminstsidentity
管理应用镜像
docker pull zhenlei1970/ids4adminadmin
这里记录一下我在阿里云ubuntu服务器上的部署过程,供大家参考。
首先是准备环境,安装MS SqlServer的docker容器。先下载sql server镜像:
docker pull mcr.microsoft.com/mssql/server:2019-latest
下载完成后,可以使用docker images查看是否下载完成。然后启动容器:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=123456" -u 0:0 -p 1433:1433 --name mssql -v /data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
使用docker ps -a 查看,发现异常退出了,容器没有正常运行。使用docker logs mssql查看,发现是初始密码设置错误:初始密码必须包含大写、小写、数字和特殊字符,并且至少8位。将这个容器删除,使用新的密码再次创建新的容器,这次可以了。
如果需要从外部访问sql server,需要设置防火墙,将1433端口打开。这样可以从远程使用sql server management进行管理了。
数据库安装完成之后,可以准备部署认证服务和管理应用了。仍然需要先运行辅助工具,生成这两部分的配置文件,然后在服务器创建两个目录admin和sts,将生成的配置文件拷贝到相关目录中:


现在可以创建容器了,管理应用容器,创建时注意,映射的端口应该与生成的配置文件中的端口一致,在本例中,管理应用运行在7003端口,认证服务运行在7010端口:
docker create --name ids4admin -v /mydata/ids4/admin/log:/app/Log \
-v /mydata/ids4/admin/appsettings.production.json:/app/appsettings.json \
-v /mydata/ids4/admin/identitydata.json:/app/identitydata.json \
-v /mydata/ids4/admin/identityserverdata.json:/app/identityserverdata.json -p 7003:80 zhenlei1970/ids4adminadmin
认证服务容器:
docker create --name ids4sts -v /mydata/ids4/sts/log:/app/Log -v /mydata/ids4/sts/appsettings.production.json:/app/appsettings.json \
-p 7010:80 zhenlei1970/ids4adminstsidentity
创建完成后,使用docker start ids4admin 和docker start ids4sts启动容器。容器启动后,可以使用docker ps查看容器的运行状况。

如果出现问题,可以使用docker logs ids4admin 和docker logs ids4sts 查看日志。现在使用浏览器访问认证服务和管理应用了。
Identity Server 4 从入门到落地(十一)—— Docker部署的更多相关文章
- Identity Server 4 从入门到落地(十二)—— 使用Nginx集成认证服务
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(五)—— 使用Ajax访问Web Api
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(四)—— 创建Web Api
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(六)—— 简单的单页面客户端
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(七)—— 控制台客户端
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(八)—— .Net Framework 客户端
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(九)—— 客户端User和Role的解析
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(十)—— 编写可配置的客户端和Web Api
前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...
- Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始
最近项目中需要使用Identity Server 4,以前对这个技术只是有些了解,没有系统研究过,网上相关的资料不少,大多是从编写一个简单的认证服务开始,离能够落地使用有相当的距离,理论学习如何不结合 ...
随机推荐
- 博主日常工作中使用的shell脚本分享
前言: 今天给大家分享一篇在我工作中常用的一个shell脚本,里面有一些我们常用到的shell操作.该脚本用于本地电脑和服务器交互上,实现以下功能: 自动拉取自己个人电脑上的源码到服务器上yocto包 ...
- Python 函数 参数传递
参数传递 在 python 中,类型属于对象,变量是没有类型的: a=[1,2,3] a="Runoob" 以上代码中,[1,2,3] 是 ...
- 快速从零开始整合SSM,小白包会(1)
整合SSM,关键就是几个xml的配置. 准备: 1. Idea(配置好tomcat,可以安装插件freeMybatis,提高效率,安装插件不难,百度经验就有) 2. 下载好数据库MySql,以 ...
- [bzoj1107]驾驶考试
转化题意,如果一个点k符合条件,当且仅当k能到达1和n考虑如果l和r($l<r$)符合条件,容易证明那么[l,r]的所有点都将会符合条件,因此答案是一个区间枚举答案区间[l,r],考虑如何判定答 ...
- html+css第三篇
css reset 原则: 但凡是浏览默认的样式,都不要使用. body,dl,dd,p,h1,h2,h3,h4,h5,h6{margin:0;font-size:12px;} ol,ul{margi ...
- [JSC2021 A~D + F]
半小时打完了\(A~D\),想要一发\(F\)冲进前\(100\),结果平衡树常数大\(T\)了.据说\(G\)是矩阵树定. \(A\) 放代码吧. A // code by Dix_ #includ ...
- MYSQL权限全解
• All/All Privileges权限代表全局或者全数据库对象级别的所有权限 • Alter权限代表允许修改表结构的权限,但必须要求有create和insert权限配合.如果是rename表名, ...
- [R] 如何在Linux命令行进行参数传入?
以前由于R命令行传参不友好,经常嵌套在其他程序语言(如Perl/Python)中来进行传参,但现在也陆续有一些方式来实现R的传参了,这里简单罗列下. 方法一 最传统的方法就是使用系统自带的comman ...
- Oracle、MySQL关机操作步骤
一.Oracle数据库单机关机(eg:LEAP系统) 先关闭使用数据库的应用系统,再关闭数据库 关闭数据库执行以下命令 1.关闭Oracle数据库监听器:(使用操作系统下管理Oracle的账户,关闭监 ...
- 监督学习&非监督学习
监督学习 1 - 3 - Supervised Learning 在监督学习中,数据集中的每个例子,算法将预测得到例子的""正确答案"",像房子的价格,或者溜 ...