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,以前对这个技术只是有些了解,没有系统研究过,网上相关的资料不少,大多是从编写一个简单的认证服务开始,离能够落地使用有相当的距离,理论学习如何不结合 ...
随机推荐
- React-Router基础(<HashRouter>)
<Router>使用URL(即window.location.hash)的哈希部分来保持UI与URL同步的A. 重要说明:哈希历史记录不支持location.key或location.st ...
- selenium基本使用,及cannot find chrome binary解决方案
什么是selenium? Selenium是一个用于Web应用程序测试的工具. Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样. 支持通过各种driver(FirfoxDriver ...
- Java-ASM框架学习-java概念转字节码概念
前言 当我们操作字节码的时候,都是和字节码的概念打交道,这让我们很困扰,asm也想到了这点,为了方便,它提供了一个可以把java概念转化为字节码概念的类 import org.objectweb.as ...
- C#动态创建接口的实现实例对象
本文简单介绍如何动态创建接口interface的实现实例对象,包含两个知识点: 1.如何获取接口interface的所有实现实例对象? 2.如何判断实例对象的构造函数是否有参数? 准备工作 首先新建一 ...
- c语言用指针交换两个变量
#include<stdio.h> #include<math.h> int main(){ void swap(int a,int b); void swapPointer( ...
- LOJ 2555 & 洛谷 P4602 [CTSC2018]混合果汁(二分+主席树)
LOJ 题目链接 & 洛谷题目链接 题意:商店里有 \(n\) 杯果汁,第 \(i\) 杯果汁有美味度 \(d_i\),单价为 \(p_i\) 元/升.最多可以添加 \(l_i\) 升.有 \ ...
- #pragma warning(disable:4996)
VS使用中常常会遇到一些过时或者不安全的函数,编译会报错: 错误 C4996 'sscanf': This function or variable may be unsafe. Consider u ...
- 59. Divide Two Integers
Divide Two Integers My Submissions QuestionEditorial Solution Total Accepted: 66073 Total Submission ...
- 谈谈AI
由AI大作业想到的 近几年<人工智能导论>的大作业是编写一个博弈程序,这类程序的典型框架就是α-β剪枝算法,像著名的打败了国际象棋大师卡斯帕罗的深蓝,就是这么干的,一些中国象棋程序也是这样 ...
- EXCEL——排序函数RANK,6种花式使用技巧
我们在实际工作中,常常把RANK函数用于对一列数据的基本排序,即从大到小的排序方法,那你还知道它的其他什么用法吗? 今天就给大家系统的分享下RANK函数的用法,分享的内容主要为以下这6种技巧. 1.升 ...