利用Docker搭建IDEA授权服务器

上一篇我们提到过如何构建一个Docker镜像并提交到Docker Hub仓库,还记得我们制作的是什么镜像吗?没错,就是IDEA License Server!因此,本文就接着上一篇文章的内容,我们来搭建一个授权服务器。

拉取镜像

我们先看一下授权服务器镜像在仓库中的样子:

可以在右侧看到这样一行命令:docker pull qinjiangbo/idea-license-server,因此我们在命令行直接执行这个命令:

1
$ docker pull qinjiangbo/idea-license-server

拉取完成后我们使用docker images命令来查看镜像:

1
2
3
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
qinjiangbo/idea-license-server latest e9d376fd30b0 21 minutes ago 118MB

运行镜像

其实这部分工作就是我们前面已经提到过的工作啦,不过这里做一些说明。授权服务器镜像暴露出来的端口号是1017,为什么是这个?因为10月17号是这个授权服务器作者的女朋友的生日。我们需要做的就是将主机的端口和这个容器的端口做一个映射,为了方便,我们通常选择80端口。因此命令如下:

1
$ docker run -d -p 80:1017 e9d376fd30b0

后面的e9d376fd30b0是镜像的ID号,这里还可以通过-e选项加上一个参数USER=yourname来指定激活的用户名。容器启动以后我们通过docker ps来查看正在运行中的容器:

1
2
3
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad81821362a2 e9d376fd30b0 "/docker-entrypoin..." Less than a second ago Up 1 second 0.0.0.0:80->1017/tcp heuristic_keller

访问授权服务器地址

这里我们可以直接通过浏览器访问授权服务器地址,如果我们在本地启动,在浏览器输入127.0.0.1,我们可以看到:

本地服务器页面

激活IDEA产品

按照上面的操作,我们打开Intellij进行注册,如下,已经注册成功!

本地服务注册窗口

总结

其实大家完全可以自己搞一台服务器,买一个域名,这样的话就可以通过域名来进行注册了。虽然区别不大,但是看起来舒服点,专业点。使用Docker的好处就是可以package one place, deploy everywhere!非常棒的体验!

更新:最近发现一个问题,如果不指定-u参数,这个授权服务器授权的用户名字会以第一个成功授权的用户名作为所有用户授权的用户名。也就是说Licensed to [yourname]这个yourname就是第一个成功被授权的用户,这是一个BUG,作者在1.5版本里面还没有修复,期待作者能快速修复。

分享到