前面的部分:

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部署的更多相关文章

  1. Identity Server 4 从入门到落地(十二)—— 使用Nginx集成认证服务

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  2. Identity Server 4 从入门到落地(五)—— 使用Ajax访问Web Api

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  3. Identity Server 4 从入门到落地(四)—— 创建Web Api

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  4. Identity Server 4 从入门到落地(六)—— 简单的单页面客户端

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  5. Identity Server 4 从入门到落地(七)—— 控制台客户端

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  6. Identity Server 4 从入门到落地(八)—— .Net Framework 客户端

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  7. Identity Server 4 从入门到落地(九)—— 客户端User和Role的解析

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  8. Identity Server 4 从入门到落地(十)—— 编写可配置的客户端和Web Api

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  9. Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始

    最近项目中需要使用Identity Server 4,以前对这个技术只是有些了解,没有系统研究过,网上相关的资料不少,大多是从编写一个简单的认证服务开始,离能够落地使用有相当的距离,理论学习如何不结合 ...

随机推荐

  1. [noi37]列队

    直接统计答案,令dp[i][j]表示前i个数最长的颜色各不相同后缀长度为j的方案数,如果一直令j<m,那么就相当于统计了方案数. 如何推出dp[i][j]呢?考虑i-1的最长前缀是多少:当小于j ...

  2. [atAGC045D]Lamps and Buttons

    由于$p_{i}$是随机的,不断选择最小的.未被操作过的$i$并处理其所在的环一定是最优的,而这样与已知$p_{i}$的区别是,当选择了一个$i=p_{i}$,那么必然失败(而已知$p_{i}$时不会 ...

  3. Spring Boot的前世今生以及它和Spring Cloud的关系详解。

    要了解Spring Boot的发展背景,还得从2004年Spring Framework1.0版本发布开始说起,不过大家都是从开始学习Java就使用Spring Framework了,所以就不做过多展 ...

  4. [JS高程] 字符串模式匹配方法

    目录 1. RegExp 对象 2. 字符串模式匹配方法 2.1 match() , search() 2.2 replace() 2.2.1 第二个参数为字符串的应用情况 2.2.2 第二个参数为函 ...

  5. oracle和mysql的拼接查询

    oracle的 SELECT * FROM sys_user a WHERE 1=1 AND a.company_id || a.login_name IN('3001rddb414') 196676 ...

  6. 爬虫——正则表达式爬取豆瓣电影TOP前250的中英文名

    正则表达式爬取豆瓣电影TOP前250的中英文名 1.首先要实现网页的数据的爬取.新建test.py文件 test.py 1 import requests 2 3 def get_Html_text( ...

  7. 洛谷 P4240 - 毒瘤之神的考验(数论+复杂度平衡)

    洛谷题面传送门 先扯些别的. 2021 年 7 月的某一天,我和 ycx 对话: tzc:你做过哪些名字里带"毒瘤"的题目,我做过一道名副其实的毒瘤题就叫毒瘤,是个虚树+dp yc ...

  8. sprint-boot 日志

    市面上的日志框架: JUL.JCL.Jboss-logging.logback.log4j.log4j2.slf4j.... SpringBoot:底层是Spring框架,Spring框架默认是用JC ...

  9. 比对软件Blast,Blast+,Diamond比较

    1. Blast (1)格式化数据库 formatdb -i db.seq -p T -o T -l logfile 主要参数: -i 输入需要格式化的源数据库名称 -p 文件类型,是核苷酸序列数据库 ...

  10. 植物GO注释

    本文主要是对没有GO term库的植物进行注释. 1.选用AgriGo 进行注释,在agriGO中点击species后,查看与你目标物种相近的物种作为库 2.比如我以甜菜为例 为了找到和GO term ...